如何修改 MP4 电影中音频轨道的语言和标题

如何修改 MP4 电影中音频轨道的语言和标题

问题描述:下载了一部电影,它有日语、国语、粤语、英语四个音频轨道(音轨)。但是在播放器的音轨选择界面中,音轨的名称(ffmpeg 把它叫做 handler_name)是乱码,而音轨的语言标识(ffmpeg 就把它叫做 language)没有标出,如图 1 所示。经过辨认,我确定音轨 0、1、2、3(ffmpeg 默认从 0 开始编号)的语言分别是日语、国语、粤语、英语。

需求:现在我需要准确地标记其语言,如图 2 所示。

修改前:

修改后:

解决办法:用 ffmpeg 修改每条音频轨道的元数据。命令如下:

1ffmpeg -i "X:\Videos\31-电影\千与千寻 (2021)\千与千寻 (2021) 1080p AC3 JPN CHN YUE ENG.mp4" -map 0 -c copy -metadata:s:a:0 handler_name="日语" -metadata:s:a:1 handler_name="国语" -metadata:s:a:1 language=chi -metadata:s:a:2 handler_name="粤语" -metadata:s:a:2 language=yue -metadata:s:a:3 language=eng -metadata:s:a:3 handler_name="英语" output2.mp4

解释:

-i "X:\Videos\31-电影\千与千寻 (2021)\千与千寻 (2021) 1080p AC3 JPN CHN YUE ENG.mp4":指定输入文件。

-map 0:读取所有轨道,包括视频、音频、内封字幕(如果有的话)。

-metadata:s:a:0 handler_name="日语":把音频轨道 0 的标题设置为“日语”,从图 1 可以看到,这个轨道的语言已经在方括号中标识出来,所以不需要修改语言标识。

-metadata:s:a:1 handler_name="国语" -metadata:s:a:1 language=chi:把音频轨道 0 的标题设置为“日语”,把音频轨道 0 的语言标识设置为汉语(Chinese)。FFmepg 遵守 ISO-639-2 标准,根据此标准,汉语需要用 zho 标识,但保留了 chi 标识与过去的文献兼容。

-metadata:s:a:2 handler_name="粤语" -metadata:s:a:2 language=yue:把音频轨道 0 的标题设置为“粤语”,把音频轨道 0 的语言标识设置为粤语(Cantonese)。ISO-639-2 标准没有收录粤语的代码,ISO-639-3 规定粤语的三字母代码是 yue。

-metadata:s:a:1 handler_name="英语" -metadata:s:a:1 language=eng:把音频轨道 0 的标题设置为“英语”,把音频轨道 0 的语言标识设置为英语(English)。

每修改一项元数据,就需要调用一次 -metadata 参数。

output2.mp4 指定输出文件。

图片版权

题图:https://openclipart.org/detail/284962/nonlinear-video-editing-system-3

头图:Image by Micha Sager from Pixabay

相关文章

“外星人”归来
365bet娱乐app

“外星人”归来

📅 09-23 👁️ 3107
银客网理财靠谱吗?用户真实评价与平台深度解析
beat365官方入口

银客网理财靠谱吗?用户真实评价与平台深度解析

📅 02-06 👁️ 955
阴阳师酒吞童子哪里多 阴阳师悬赏封印酒吞童子具体副本位置一览
365bet.com最快线路检测中心

阴阳师酒吞童子哪里多 阴阳师悬赏封印酒吞童子具体副本位置一览

📅 06-27 👁️ 7031
世界媒体看中国:中国经济
365bet.com最快线路检测中心

世界媒体看中国:中国经济

📅 07-30 👁️ 638
安兔兔测试要多久
365bet.com最快线路检测中心

安兔兔测试要多久

📅 07-23 👁️ 327
汉字“聂”的起源、演变过程
365bet.com最快线路检测中心

汉字“聂”的起源、演变过程

📅 11-23 👁️ 2105