robm
1
我正在使用配置文件 MP4 Unprocessed 对 AVI 进行 remux,并希望在转换后的视频文件中保留嵌入式字幕。理想情况下,这不需要任何特殊选项(完整的流对流映射)。
但是,如果我在任务设置(第一步转换)中没有勾选 Extract subtitles and closed captions,且在专家设置(第二步转换)中没有勾选 Add subtitles,字幕就会全部消失(此时 ffmpeg 会使用 -sn 标志,因而忽略字幕流)。
但如果我勾选了这些设置,则会得到
- 将字幕流另存为单独的 SRT 文件,同时
- 两个相同的 sub streams 嵌入到转换后的视频文件中
所以,这显然不是“全有或全无”,而是“要么太多要么没有”…
这是否是设计如此(版本 2.5.7)?
谢谢
Rob
robm
3
Thx, very helpful-
虽然我自己提到过使用 -sn 调用 ffmpeg,并且已经查看过 MP4 Unprocessed 配置文件,但我忽视了其中甚至将忽略字幕 硬编码:
ffmpeg-video=-ss 0 -vcodec copy -sn
所以,我会先尝试一个仅使用标准配置但去掉 -sn 的新配置,如有需要再参考其他建议。
robm
4
虽然这种方法看起来合理,但所有建议都没有帮助…
- 仅仅从
MP4 Unprocessed 标准配置中移除 -sn 标志并没有帮助,字幕仍未嵌入。
- 如上所述添加映射,意外导致 ffmpeg 错误重复,因为出现 Fix Audio Sync failed… 虽然配置中包含
ffmpeg-audiodelay=skip。
- 即使不使用映射,但仍保留
scodec=mov_text 或 ffmpeg-scodec=mov_text,字幕仍未嵌入。
- 最后,使用标准的
MP4 Unprocessed 并在导出设置中勾选 Skip remuxing files,字幕仍未嵌入。
所以,我想要保留字幕,只能先重新封装(remux),然后再删除 SRT 文件,并接受字幕流会被复制的情况。
Goose
(Goose)
5
您确实可以选择限制提取哪些轨道,可以使用语言下拉列表框或 3 字母 ISO 语言标识符来指定您想要保留的音频和字幕轨道。请注意,目前在这种情况下仅限于一个语言轨道,如果有需要,我们将来也可以增加选择多种语言的功能(欢迎随时提交功能请求)。
您可以通过在 Windows 资源管理器中右键点击该文件并选择 Show Media Info with MCEBuddy 选项来检查视频文件中嵌入了哪些语言,这将打开一个窗口,显示所有视频、音频和字幕轨道的详细信息,以及视频文件中嵌入的元数据。
如果您愿意,也可以上传日志文件,我可以为您检查其中嵌入了哪些轨道及其 ISO 代码。