我有一个包含若干嵌入式流的mkv文件:
Stream #0:0: Video: h264 (High), yuv420p(tv, smpte170m/smpte170m/bt709), 720x300, SAR 1:1 DAR 12:5, 25 fps, 25 tbr, 48003.07 tbn, 50 tbc (default)
Stream #0:1(tr): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
Stream #0:2(fr): Subtitle: dvd_subtitle, 720x300
在我的电脑上播放时,我可以看到字幕。但是从我的旧DVD/DIVX播放器播放时,我无法看到字幕(其他mkv/avi正常工作)。
所以我想更改字幕编码,看看是否有另一种编码可以在我的DVD播放器上使用。
ffmpeg -encoders 报告:
S..... ssa ASS (Advanced SubStation Alpha) subtitle (codec ass)
S..... ass ASS (Advanced SubStation Alpha) subtitle
S..... dvbsub DVB subtitles (codec dvb_subtitle)
S..... dvdsub DVD subtitles (codec dvd_subtitle)
S..... mov_text 3GPP Timed Text subtitle
S..... srt SubRip subtitle (codec subrip)
S..... subrip SubRip subtitle
S..... text Raw text subtitle
S..... webvtt WebVTT subtitle
S..... xsub DivX subtitles (XSUB)
所以我尝试了:
ffmpeg -i input.mkv -acodec copy -vcodec copy -scodec "codec" converted.mkv
有各种版本的"codec"。它们都不起作用(除了原始的dvdsub
...):
xsub报告:
[matroska @ 0x24558c0] Subtitle codec 94211 is not supported.
av_interleaved_write_frame(): Function not implemented
[matroska @ 0x24558c0] Subtitle codec 94211 is not supported.
Error writing trailer of mustang_converted.mkv: Function not implementedframe= 244 fps=0.0 q=-1.0 Lsize= 1kB time=00:00:10.01 bitrate= 1.0kbits/s speed=1.23e+03x
video:321kB audio:235kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!
ssa或ass报告:
[ssa @ 0x262e000] Only SUBTITLE_ASS type supported.
Subtitle encoding failed
其他人的报告:
Error while opening encoder for output stream #0:2 - maybe incorrect parameters such as bit_rate, rate, width or height
我做错了什么?有些字幕编解码器与当前的视频或音频编解码器不兼容吗?我应该改变它们而不是复制它们吗?
另外,是否有选项将字幕合并到视频图像流中以永久保存(然后只有两个输出流:音频和视频,但保留字幕显示)?
注意:如果在Linux(mint)下工作,则可以使用其他工具回答。