2017-06-12 86 views
0

任何人都可以帮助我理解为什么我尝试使用FFMPEG CLI标记带语言元数据的音频轨道失败?我发现了关于标签的正确语法的各种信息,我仍然不清楚(所以我的问题的第一部分是什么是正确的语法),但即使我把它正确(我可能会可能没有),我想知道FFMPEG是否无法标记我的音轨,因为我的源代码是用视频本质包装/混合的。这是否排除了语言标签的能力?值得注意的是,从MP4和MKV源(视频和音频)到MP4(视频和音频)以及M4A,MP4和AAC音频输出都没有取得成功。FFMPEG CLI语言元数据标记输出MP4(视频+音频)文件

另外值得注意的是,我也尝试使用-metadata标题标记没有成功。

我找下面的元数据在的MediaInfo先进模式检查显示:

语言:zh 语言:英语

这里是我的命令行:

的ffmpeg -i“ input.mkv“-c:v libx264 -level:v 3.0 -b:v 5000k -bufsize 4300k -flags + ildct + ilme -top 1 -x264opts tff = 1:colorprim = bt470bg:transfer = bt470m:colormatrix = bt470bg -vf crop = 720:576:0:32 -pix_fmt yuv420p -c:aac -b:a 128k -metadata language =“eng”-aspect 4:3 -y“output.mp4”

回答

0

语言是一个流级元数据参数。要申请所有流,请使用-metadata:s language=eng

+0

感谢Mulvya。这工作完美。关于这个问题,也许你可以帮我解决我的另一个问题,那就是改变流ID。需要语言元数据的播出系统还要求视频为ID:2,音频为ID:1.我尝试使用以下标记:-streamid 1:2 -streamid 2:1但没有成功。我设法改变过去的流ID,但不知道为什么我现在不能。 – DMtd

+0

您可以按照您需要的顺序分配地图:'-map 0:a -map 0:v' – Mulvya

+0

我收到以下错误:无效的输入文件索引:1.它不会允许我更改视频ID。为了清楚我正在尝试更改标记为ID的mediainfo检查中的元数据,而不是流标识。 – DMtd