我想使用FFmpeg将我的.mkv文件转换为.mp4。我尝试了以下代码:
ffmpeg -i input.mkv -c:v libx264 -c:a libvo_aacenc output.mp4
但我收到错误:
打开输出流#0的编码器时出错:1 - 可能是不正确的参数,如bit_rate,rate,width或height。
有没有办法解决这个问题?我已经尝试设置音频的比特率,但问题似乎仍然存在。
答案 0 :(得分:7)
我建议你首先检查你的.mkv文件是否已经拥有H.264 / AAC流。因为如果是这样,你所要做的就是复制流并更改容器:
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4
如果没有,您可能会被拒绝,因为您没有为libvo_aacenc指定比特率。请尝试以下方法:
ffmpeg -i input.mkv -c:v libx264 -c:a libvo_aacenc -b:a 128k output.mp4
但是,如果您的.mkv已经包含H.264 / AAC,请使用第一个解决方案。它会更快,质量更好。
答案 1 :(得分:1)
作为ffmpeg的替代方法,您可以使用HandBrakeCLI,例如:
HandBrakeCLI --encoder "x264" --quality 25.0 --aencoder "copy:aac" --audio-fallback "av_aac" --all-audio --all-subtitles -i "input.mkv" -o "output.mkv"
HandBrakeCLI是handbrake-cli软件包的一部分。
有关参数的说明,请参见HandBrakeCLI --help或https://handbrake.fr/docs/en/latest/cli/command-line-reference.html