gpt4 book ai didi

video - 从具有多个音轨的 MKV 文件中获取语言代码的最优雅方法是什么?

转载 作者:行者123 更新时间:2023-12-04 23:03:14 27 4
gpt4 key购买 nike

我需要一种从具有多个音轨的 MKV 文件中获取语言代码的方法。
ffmpeg产生输出,然后我可以使用正则表达式进行过滤,但它看起来不是很优雅:

$ ffmpeg -i file.mkv 2>&1 | grep Audio
Stream #0:1(eng): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s (default)
Stream #0:2(nar): Audio: mp2, 48000 Hz, mono, s16, 64 kb/s (default)
mediainfo具有提取语言信息的能力,但在具有多个轨道的文件中,它将代码连接成一个字符串:
$ mediainfo file.mkv --inform="Audio;%Language%"  
ennar

是否有一个工具或命令可以以更好的方式返回多个轨道的语言代码,或者有一个工具可以让我指定一个轨道号并只返回该轨道的语言代码?

最佳答案

运行这个 ffprobe 命令

ffprobe in.mp4 -show_entries stream=index:stream_tags=language -select_streams a -v 0 -of compact=p=0:nk=1

将产生这个输出
1|eng
2|deu
3|eng
4|eng
5|fre

其中第一个字段是绝对流索引,即计算所有类型 V/A/S 并且从 0 开始。
ffprobe in.mp4 -show_entries stream=index:stream_tags=language -select_streams a:2 -v 0 -of compact=p=0:nk=1

将仅显示第三个音频流。
ffprobe in.mp4 -show_entries stream=index:stream_tags=language -select_streams 2 -v 0 -of compact=p=0:nk=1

将只显示第三个流,无论它是哪种类型。

关于video - 从具有多个音轨的 MKV 文件中获取语言代码的最优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41928770/

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