ffmpeg:当字幕作为二进制数据流嵌入时,从 mp4 文件中提取字幕

问题描述 投票:0回答:1

我想做的是提取嵌入在

.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 html5-video mp4 video-subtitles
1个回答
0
投票

使用复制编解码器:

ffmpeg -i input.mkv -map 0:s:2 -c copy subtitle.srt
© www.soinside.com 2019 - 2024. All rights reserved.