after encoding ass into mp4, but there is no subtitle at all
i send you PM, the sample files, and fonts if needed. please help, thanks.
No debug output, no real details -> no clue what you are really doing,...
What I did:
- start Hybrid
- load source mkv into Hybrid
- add fonts to Hybrid:
(needed since Hybrid did not extract the subtitles it self and otherwise wouldn't know where to find the fonts)- check where the temp folder for fonts is. (Config->Path->Infos->Font path)
- copy the fonts to that folder so that Hybrid can find them
- add subtitles:
- make sure Base->Subtitle is enabled
- select subtitle (Subtitle->Import->Subtitle Import->Subtitle file)
- enable "Subtitle->Import->Subtitle Import->Embed subtitle in Frame"
- add subtitle to subtitle queue ( "Subtitle->Subtitle Queue-> add current ...)
- Check Vapoursynth script:
- Filtering->Show Vapoursynth Script
Code:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
core = vs.core
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# source: 'C:\Users\Selur\Desktop\DropMeFiles_L9QtO\clip.mkv'
# current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, fps: 24, color matrix: 709, yuv luminance scale: limited, scanorder: progressive
# Loading C:\Users\Selur\Desktop\DropMeFiles_L9QtO\clip.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Selur/Desktop/DropMeFiles_L9QtO/clip.mkv", format="YUV420P8", cache=0, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 24
clip = core.std.AssumeFPS(clip=clip, fpsnum=24, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# Loading C:\Users\Selur\Desktop\DropMeFiles_L9QtO\clip.ass using SubText
clip = core.sub.TextFile(clip=clip, file="C:/Users/Selur/Desktop/DropMeFiles_L9QtO/clip.ass", fontdir="I:/Hybrid/settings/fonts")
# adjusting output color from: YUV420P8 to YUV420P10 for x265Model (i420@8)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited")
# set output frame rate to 24.000fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=24, fpsden=1)
# Output
clip.set_output()
(note that "I:/Hybrid/settings/fonts" is the temp folder where Hybrid has the temp fonts on my system)
-> script looks fine
- check Vapoursynth preview (Filtering->Vaporusynth preview)
-> Subtitle show properly in the preview, no clue whether the styling is correct.
- configure encoding settings and output
- create job
- start job
- look at output
Output has embedded / hard coded subtitles.
Checked the .ass file and noticed, the subtitle names uses there didn't match the file names of the files you provided, so they weren't used and I didn't have to copy them.
If you use external fonts always check the preview and if the fonts in the preview are not what you expected check your .ass file.
(since your example doesn't use a font names 'FZYouHJW_508R' or 'Chinese fonts - FZYouHJW_508R' those subtitles will not be used)
-> No clue what you did, since you didn't share details, but this doesn't not look like a bug in Hybrid.
Cu Selur
have you tried to encode the ass into the MKV? is the result good?
fonts file name is not a problem, because when copy fonts to c:\windows\fonts, ass files can works well automatically. before copy, it can be any different name.
Vapoursynth preview (Filtering->Vaporusynth preview)
you mean this?
why it dispays empty?
Quote:have you tried to encode the ass into the MKV? is the result good?
Yes, that is what I wrote in my last post.
Quote:Vapoursynth preview (Filtering->Vaporusynth preview)
you mean this?
Yes.
No clue why the script is empty for you, since you do not care to share a debug output.
Cu Selur
According to the debug output, the Vapoursynth script:
Code:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SubtitleFilter/VSFilterMod/VSFilterMod.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# source: 'D:\X\del-x\clip\clip.mkv'
# current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, fps: 24, color matrix: 709, yuv luminance scale: limited, scanorder: progressive
# Loading D:\X\del-x\clip\clip.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/X/del-x/clip/clip.mkv", format="YUV420P8", cache=0, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 24
clip = core.std.AssumeFPS(clip=clip, fpsnum=24, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# Loading D:\X\del-x\clip\clip.ass using VSFilterMod
clip = core.vsfm.TextSubMod(clip=clip, file="D:/X/del-x/clip/clip.ass")
# set output frame rate to 24.000fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=24, fpsden=1)
# Output
clip.set_output()
does load the subtitles:
Code:
# Loading D:\X\del-x\clip\clip.ass using VSFilterMod
clip = core.vsfm.TextSubMod(clip=clip, file="D:/X/del-x/clip/clip.ass")
-> check the preview, if the Vapoursynth preview does not contain the subitles it might be an issue with the used subtitle renderer in combination with your subtitle file.
The debug output does not show the 'Script is empty,...' message.
Cu Selur
i tried again, this time shows the preview, but the result is not correct, fonts out of picture, in black bar, the correct result is fonts should be in the picture, not in the black bar.
the good result should be like this,
If you do not want the black bars in the file: crop them before the subtitles get applied
If you want black bars and the subtitles higher, you got multiple options:
a. adjust the positions in your subtitles
b. crop, add subtitles, add borders back (to archive this you need to also make sure to change the filter order, so that 'Letterboxing' is below 'Adding Subtitle')
Cu Selur
Thanks for suggestion, but i have adjusted subtitles the right position, play mkv with ass, you can see the good result.
i just only want to encode ass into it, export a mp4 file, but why need to do these steps? re-adjust the subtitles position, crop, add black bar, and so on.
yeah, i want black bars and the subtitles higher, just like MKV with ass result, only encode subtitle into it.
If the positioning should be correct in the file it's an issue with the subtitle renderer having issues with the file.
Try enabling: "Filtering->Vapoursynth->Script->Prefer VsFilterMod"
Cu Selur