gpt4 book ai didi

video - 无法使用ffmpeg更改视频字幕编解码器

转载 作者:行者123 更新时间:2023-11-28 21:41:03 33 4
gpt4 key购买 nike

我有一个嵌入了一些流的 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

在我的 PC 上播放时,我可以看到字幕。当从我的旧 DVD/DIVX 播放器播放它时,我看不到字幕(其他 mkv/avi 工作正常)。

所以我想更改字幕编码,看看另一个是否可以与我的 DVD 播放器兼容。

ffmpeg 编码器报告:

 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

各种版本的“编解码器”。它们都不起作用(除了原始的 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) 下工作,可以使用 ffmpeg 以外的其他工具回答。

最佳答案

您的字幕是基于图像的,需要转换为基于文本的格式,例如 SRT。使用 Subtitle Edit或类似工具从 MKV 导入潜艇。这将对潜艇进行 OCR 处理。完成后,另存为 SRT 或任何常见的基于文本的字幕格式。

然后使用您选择的 scodec 运行您的 ffmpeg 命令。


或者,如果你想在字幕中刻录,你可以试试这些方法之一

ffmpeg -i input.mkv -vf subtitles=input.mkv -acodec copy -sn converted.mkv

ffmpeg -i input.mkv -filter_complex "[0:v:0][0:2]overlay" -acodec copy -sn converted.mkv

关于video - 无法使用ffmpeg更改视频字幕编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36326790/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com