我檢查了FFmpeg的文檔和許多論壇,並計算出正確的命令行來從.MP4視頻中提取的字幕看起來應該像這樣:是否可以使用ffmpeg從MP4視頻中提取SubRip(SRT)字幕?
ffmpeg -i video.mp4 -vn -an -codec:s:0 srt out.srt
不過,我得到下面的錯誤,這使它我質疑是否可行在所有:
錯誤而輸出流#0開口編碼器:0 - 也許不正確的參數 如BIT_RATE,速率,寬度或高度
使用ffmpeg -codecs
,我可以確認ffmpeg應該能夠編碼子標題字幕。
使用ffmpeg -i video.mp4
,我可以看到,有嵌入在視頻2個字幕軌道:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
...
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1/0x31637661), yuv420p, 720x572 [SAR 64:45 DAR 256:143], 1341 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc
Stream #0:1(eng): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream #0:2(fra): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s/0x7334706D)
Stream #0:4(und): Subtitle: mov_text (text/0x74786574)
EDIT
我與評價,但我所示的簡化的命令行測試仍然會得到相同的錯誤。這裏是a link to the detailed verbose output運行命令。我也嘗試完全禁用結果輸出中的元數據和章節,但仍然產生相同的錯誤。
簡單的'ffmpeg -i in.mp4 out.srt'正確工作。 (ffmpeg 2.0.1) – pogorskiy
嘗試'ffmpeg ... -loglevel debug ...'以獲取有關錯誤的更多信息 – pogorskiy
我已經嘗試了這兩個建議,但我無法確定一個明顯的錯誤。也許這是由ffmpeg試圖在生成的srt文件中輸出章節標記引起的?我已經包含了詳細的調試輸出。 –