FFMPEG CLI语言元数据标记输出MP4(视频和音频)文件

FFMPEG CLI语言元数据标记输出MP4(视频和音频)文件,ffmpeg,command-line-interface,metadata,tagging,id3,Ffmpeg,Command Line Interface,Metadata,Tagging,Id3,有人能帮我理解为什么我尝试使用FFMPEG CLI用语言元数据标记音轨失败了吗?我已经找到了关于标记的正确语法的各种信息,但我仍然不清楚(所以我的问题的第1部分是什么是正确的语法),但即使我得到了正确的信息(我可能有,也可能没有),我想知道FFMPEG是否因为我的源被视频精华包装/混合而无法标记我的音频曲目。这是否排除了使用语言标记的能力 值得注意的是,已尝试从MP4和MKV源(视频和音频)到MP4(视频和音频)以及M4A、MP4和AAC仅音频输出,但未成功 同样值得注意的是,我也尝试过使用-m

有人能帮我理解为什么我尝试使用FFMPEG CLI用语言元数据标记音轨失败了吗?我已经找到了关于标记的正确语法的各种信息,但我仍然不清楚(所以我的问题的第1部分是什么是正确的语法),但即使我得到了正确的信息(我可能有,也可能没有),我想知道FFMPEG是否因为我的源被视频精华包装/混合而无法标记我的音频曲目。这是否排除了使用语言标记的能力

值得注意的是,已尝试从MP4和MKV源(视频和音频)到MP4(视频和音频)以及M4A、MP4和AAC仅音频输出,但未成功

同样值得注意的是,我也尝试过使用-metadata标题标记,但没有成功

我希望在mediainfo高级模式检查中显示以下元数据:

语言:en 语言:英语

这是我的命令行:


ffmpeg-i“input.mkv”-c:v libx264-级别:v3.0-b:v 5000k-bufsize 4300k-标志+ildct+ilme-top 1-x264opts tff=1:colorprim=bt470bg:transfer=bt470m:colormatrix=bt470bg-vf-crop=720:576:0:32-pix\u fmt yuv420p-c-c:a aac-b:a 128k-metadata language=“eng”--aspect 4:3-y”output.mp4“语言是流级元数据参数。要应用于所有流,请使用
-metadata:s language=eng

谢谢Mulvya。这非常有效。在这个问题上,也许你可以帮我解决另一个问题,那就是改变流ID。需要语言元数据的播放系统还要求视频ID:2,音频ID:1。我尝试使用以下标记:-streamid 1:2-streamid 2:1,但没有成功。我过去曾设法更改过一次流ID,但不确定为什么现在无法更改。您可以按需要的顺序分配映射:
-map 0:a-map 0:v
我遇到以下错误:输入文件索引无效:1。它不允许我更改视频ID。很明显,我正在尝试更改mediainfo检查中标记为ID而不是流标识符的元数据。您的命令仅显示一个输入,因此它将像我的注释中一样基于0。我正在尝试映射流ID,而不是映射通道。