04.06.2019, 16:25
Quote:Hybird doesn't support the sup file and it will automatically convert sup to idx/subFor clarification:
When using Avisynth and embedding .sup file (assuming .Net is installed), Hybrid should create something along the lines of:
LoadCPlugin("I:\Hybrid\32bit\AVISYN~1\ffms2.dll")
LoadPlugin("I:\Hybrid\32bit\AVISYN~1\SupTitle.dll")
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
# loading source: F:\TestClips&Co\files\test.avi
# input color sampling YV12
# input luminance scale tv
FFVideoSource("F:\TESTCL~1\files\test.avi",cachefile="E:\Temp\avi_078c37f69bb356e7b5fa040c71584c40_853323747_1_0.ffindex",fpsnum=25)
# current resolution: 640x352
# filtering
# embedding subtitles
Preroll(video=10, audio=0)
# Loading subtitle: E:\Output\00005.track_4608_lang_und.4a3535dbb7070f889ca5f92f88a54966.sup
SupTitle("E:\Output\00005.track_4608_lang_und.4a3535dbb7070f889ca5f92f88a54966.sup")
PreFetch(8)
return last
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/FFMS2/ffms2k.dll")
# Loading F:\TestClips&Co\files\test.avi using FFMS2K
clip = core.ffms2.Source(source="F:/TESTCL~1/files/test.avi",cachefile="E:/Temp/avi_078c37f69bb356e7b5fa040c71584c40_853323747.ffindex",format=vs.YUV420P8,alpha=False)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec",range_s="limited")
# making sure frame rate is set to 25/1
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# Loading image based subtitle E:\Output\00005.track_4608_lang_und.4a3535dbb7070f889ca5f92f88a54966.sup using Subtitle
def rgba(r, g, b, a=255):
if r < 0 or r > 255 or g < 0 or g > 255 or b < 0 or b > 255 or a < 0 or a > 255:
raise vs.Error("Colours must be in the range [0, 255].")
return (a << 24) + (r << 16) + (g << 8) + b
unused = 1 << 42
subs = core.sub.ImageFile(clip=clip, file="E:/Output/00005.track_4608_lang_und.4a3535dbb7070f889ca5f92f88a54966.sup", palette=[rgba(0, 0, 0), rgba(255, 255, 255), rgba(0, 0, 0), rgba(0, 0, 0)])
alpha = core.std.PropToClip(subs)
subs = core.resize.Bicubic(subs, width=clip.width, height=clip.height, format=clip.format.id, matrix_s="unspec", matrix_in_s="unspec", range_s="limited")
gray_format = core.register_format(vs.GRAY, clip.format.sample_type, clip.format.bits_per_sample, 0, 0)
alpha = core.resize.Bicubic(alpha, width=clip.width, height=clip.height, format=gray_format.id, range_s="limited")
clip = core.std.MaskedMerge(clip, subs, alpha)
# adjusting output color from: RGB24 to YUV420P8 for x264Model (i420)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, matrix_s="unspec", range_s="limited")
# Output
clip.set_output()
When neither Avisynth nor Vapoursynth is available Hybrid converts the video to idx/sub since afaik ffmpeg doesn't support embedding .sup-subtitles.
Quote:Now I don't know how to make it happen again, 'cause everytime I import the AVS file it just says "Didn't find a 'Frame rate' info node! -› stream will be ignored".Not knowing the script you use, I can't really help.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.