- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试使用 ffmpeg 并尝试学习如何更好地使用它——它非常强大,而且似乎有很多选择,所以我想我会尝试做一些事情来学习数量映射和标签等。
该文件没有什么特别之处——它只是一个小的测试 MKV 文件,我可以在尝试时快速运行它。
目前,我正在尝试向 MKV 文件中的视频流添加语言标签,但它没有按预期工作(至少对我来说!)
文件 (input.mkv) 有四个流:
流 #0:0:视频:h264(主要)
流 #0:1(eng):音频:ac3
流#0:2(eng):字幕
流#0:3(eng):字幕
如您所见,其中三个流被标记为英语(英语),但视频流不是。我意识到视频可能不经常用语言标记,但我只是想了解这一切是如何运作的。
这是我正在使用的命令:ffmpeg -i input.mkv -metadata:s:v:0 language=eng -codec copy mkv.ext
我认为这意味着只是将语言标签='eng'设置为第一个视频流(0:0),它确实如此,但由于某种原因它也删除(或省略)了第二个字幕流(0: 3)从 output.mkv 文件中,这样我在 output.mkv 中得到的是:
流 #0:0(eng):视频:h264(主要)
流 #0:1(eng):音频:ac3
流#0:2(eng):字幕
这样我们就成功地将“eng”标签添加到视频流中,但不知何故丢失了第二个字幕流。
问题:
最佳答案
添加 -map 0
在输出中包含来自输入 0 的所有流。
阅读 http://ffmpeg.org/ffmpeg.html#Stream-selection ,特别是关于 ffmpeg 如何选择流的详细信息的自动流选择部分。
关于FFMPEG - 如何在不更改任何其他内容的情况下将语言标签添加到流中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71004316/
我是一名优秀的程序员,十分优秀!