我想做的是提取嵌入在
.mp4
文件中的字幕。目标是将 .mp4
文件和字幕一起上传到 HTML5 上。
我通常会做的是用 ffprobe
寻找字幕流,然后一起做一些事情(假设流 2 是字幕流)
ffmpeg -i input.mp4 -map:0:2 out.vtt
现在我有了这个文件,应用上面的命令,会生成以下错误
Exactly one WebVTT stream is needed.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --
我尝试过类似的解决方案
ffmpeg -i input.mp4 -vn -an -codec:s:0.2 srt sub.srt
没有成功:
Output file #0 does not contain any stream
事实证明,字幕流是一些二进制数据,我必须以某种方式对其进行解码(我也能够转储它的二进制内容以不再使用)
Stream #0:2(eng): Data: bin_data (text / 0x74786574)
Metadata:
handler_name : SubtitleHandler
有任何关于解决方案的想法,或者至少有解决办法吗?
使用复制编解码器:
ffmpeg -i input.mkv -map 0:s:2 -c copy subtitle.srt