所以我试图将一个非常长的视频从 MKV 转换为 MP4。我首先尝试了这个命令,这应该是将 mkv 转换为 mp4 的最快方法
ffmpeg -i "vid.mkv" -codec copy -map 0 "MP4/vid.mp4"
但是我每次运行时都会收到这个错误
[mp4 @ 0x7fffe98ae500] track 1: codec frame size is not set
[mp4 @ 0x7fffe98ae500] opus in MP4 support is experimental, add '-strict -2' if you want to use it.
Could not write header for output file #0 (incorrect codec parameters ?): Experimental feature
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Last message repeated 1 times
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您粘贴的摘录的第 2 行中提到了问题和解决方案。
您使用的是旧版本的 ffmpeg。从最近开始,MP4 中的 Opus 音频不再被视为实验性的。升级到 ffmpeg 4.3 或添加-strict -2日志中提到的。
出于兼容性考虑,您通常需要将音频转码为 AAC。
ffmpeg -i "vid.mkv" -map 0 -c copy -c:a aac "MP4/vid.mp4"
Run Code Online (Sandbox Code Playgroud)