為什麼 VLC 在轉碼時會截斷影片的結尾?

為什麼 VLC 在轉碼時會截斷影片的結尾?

我正在嘗試「烘焙」一個客製化的字幕檔案(Advanced SubStation Alpha)來製作一個短影片(3:46)。然而,儘管嘗試了各種命令列選項,VLC 似乎總是切斷影片的結尾。根據參數的不同,它會縮短幾秒鐘到大約 1 分 05 秒。

我嘗試過的命令的基本格式如下:

vlc -v tdcutb.mp4 --run-time 300 --sub-file=tdcutb2.ass \
    --sub-track=1 -I rc --sout-transcode-threads 8 --sout \
    '#transcode{venc=x264'\
      '{crf=15,keyint=50,no-mixed-refs,ref=4,subme=7,weightp=2,me=umh},'\
      'vcodec=mp4v,vb=4096,acodec=mpga,ab=128,soverlay}'\
    ':standard{mux=mp4,dst=tdcutb-sub.mp4,access=file}' vlc://quit

我擺弄了不同的--run-time值(以及完全省略它)和各種x264參數(使用/不使用從10到25的值指定的crf,從10到250的keyint,從1到4的ref,從0到7的subme ,權重p從0到2)。我也嘗試過調整vb。

我發現降低keyint往往會「更接近」完整長度,但是當值 < 100 時,檔案大小開始變得荒謬,而且它仍然沒有完整的長度。奇怪的是,減少subme似乎有一點幫助,但它也沒有讓我得到完整的輸出並且降低了品質。

僅供參考,我正在運行 Mac OS X 10.9.4 和 VLC 媒體播放器 2.1.0 Rincewind(修訂版 2.1.0-0-gedd8835)。

編輯:我現在也嘗試了不同的編碼器(venc=ffmpeg)、不同的編解碼器(codec=VP80)、不同的複用器(ffmpeg/webm),但它們都不同程度地失敗了(最嚴重的罪犯發布了0:39 的影片) )。我現在幾乎可以肯定這與 VLC 有關。

編輯2:我首先嘗試使用 ffmpeg 轉碼為 WebM;我順利地完成了此操作(並且生成的視訊長度合適),但是當我使用 VLC 嘗試在從 ffmpeg 獲得的 WebM 視訊上烘焙字幕時,它遇到了相同的問題。

相關內容