gpt4 book ai didi

FFMPEG - 如何在不更改任何其他内容的情况下将语言标签添加到流中?

转载 作者:行者123 更新时间:2023-12-04 22:56:53 25 4
gpt4 key购买 nike

我一直在尝试使用 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/

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