使用ffmpeg将avi转mov时指定libx264编码命令失败咨询
故障原因
命令运行失败的核心原因是音频编码器参数语法错误:
-c:v libx264是合法写法,作用是指定视频流使用libx264(H.264)编码器进行编码-c:a是指定音频流编码器的参数,语法规则要求该参数后必须紧跟具体的音频编码器名称。你写的命令里-c:a后直接跟输出文件名output.mov,ffmpeg会将output.mov识别为你指定的音频编码器名称,系统中不存在对应编码器,因此直接报错终止。
你能正常运行的命令ffmpeg.exe -i input.avi output.mov没有手动指定编码器参数,ffmpeg会根据.mov的输出格式自动匹配默认的音视频编码器,因此不会触发参数错误,可以正常完成转码。
解决方法
给-c:a参数补上mov封装支持的合法音频编码器即可,最通用的选择是aac编码器,修正后的可运行命令如下:
ffmpeg.exe -i input.avi -c:v libx264 -c:a aac output.mov
如果需要调整音频质量,可以额外指定音频比特率,比如设置256k比特率的命令写法为:
ffmpeg.exe -i input.avi -c:v libx264 -c:a aac -b:a 256k output.mov
内容的提问来源于stack exchange,提问作者sandeep p
相关产品推荐
相关产品推荐

