引用
最初由 roozhou 发布
Real不支持120fps,但是支持vbr
不要用avs,不要指定帧率,直接压视频就行了
字幕可以用vobsub自动加载,滤镜ffdshow里的也够用
试过几次,24/30fps的正常,24/60fps的60fps部分会压成40fps,不知道为什么
是VFR不是VBR吧
既然都rm化了何必追求那么多……
引用
最初由 wai5888 发布
愿请指教
如果说提供一个方法的话,
首先mkv抽出timecode,用mkvextract,命令行大概是
mkvextract timecodes_v2 xxxx.mkv 1:xxxx.txt
其中 1 是视频所在的数据流的编号
然后,拆出视频流和字幕,还是这个工具,命令行大概是
mkvextract tracks xxxx.mkv 1:xxxx.avc 3:xxxx.ass
其中 3 是字幕所在的数据流的编号
涉及到的软件有 Aegisub 和 DGAVCDec
用Aegisub打开ass字幕,Video->open timecode,把刚才解出来那个timecode打开,file -> export subtitles,勾上transform framerate,右边Input framerate可以自己决定,比如输入23.976(这个值后面写avs要用),output选variable,然后点export按钮导出字幕。比如说导出的字幕名字叫做 123.ass
然后用dgavcdec处理那个解出来的avc文件,用法和dgindex(就是做dvdrip用到的那个)没两样,比如生成的是 123.dga
avs这么写:(插件自己调用)
avcsource("123.dga")
#下面这一行对应的是前面让你自己决定输入的input framerate
assumefps(24000,1001)
textsub("123.ass")
#下面两行是你原来就有的……
LanczosResize(704,396)
UnDot()
然后这个avs送去压制,注意如果用的不是CRF或者QP,压制之前最好先看看视频的长度重新计算比特率,因为视频长度会变化。
压出来是一个速度混乱的mp4文件,封装后速度会正常。
封装成mkv,把压好的MP4和原来的MKV都加入到来源文件,把原来那个MKV里面的视频和字幕的勾去掉,然后选中mp4里面来的那个视频流,下方 Timecodes 那一栏,把前面解出来的timecode填进去(就是在aegisub里面用过的那个)
封装出来的就是正常的VFR而且有字幕的了