我正在尝试将 mov 视频转换为 mp4,但我不希望发生任何压缩。我在 Mac 上使用 Quicktime 录制了它,并以最高的未压缩质量进行了录制。当我运行 ffmpeg -i
时。我得到:
Stream #0:0(und): Video: prores (apcn / 0x6E637061), yuv422p10le(bt709), 1280x720, 72073 kb/s, 30.09 fps, 30 tbr, 30k tbn, 30k tbc (default)
注意 kb/s 是 72,073。我想保留这个比特率。我尝试了一些不同的转换命令,包括:
ffmpeg -i input.mov output.mp4
和:ffmpeg -i input.mov -qscale 0 output.mp4
两者都有效,但都导致比特率损失。查看两者结果的信息 Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p, 1280x720, 4569 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
如何转换为 mp4 仍然有 ~72,000 kb/s?这可能吗?
最佳答案
您正在将苹果与橙子进行比较。 ProRes 和 H.264 是两种完全不同的格式,所以比较比特率是没有意义的。你真正要问的是...
如何在没有质量损失的情况下将 ProRes 转换为 H.264 (MP4)?
只需使用 -crf
设置质量.值为 0
是无损的,18
看起来无损,但实际上并非如此。
视觉无损
ffmpeg -i input.mov -crf 18 output.mp4
无损输出文件会很大,您的播放器可能不喜欢它。
ffmpeg -i input.mov -crf 0 output.mp4
兼容性如果您需要在非 FFmpeg 播放器中播放输出,请添加
-vf format=yuv420p
:ffmpeg -i input.mov -crf 18 -vf format=yuv420p output.mp4
-vf format=yuv420p
如果您要上传到 YouTube。 流复制
ProRes 在 MP4 中不兼容,所以你不能只做 stream copy (如复制和粘贴)。但是,对于那些发现这个问题,并且具有兼容格式并且只想将容器从 MOV 更改为 MP4 的人:
ffmpeg -i input.mov -c copy output.mp4
另见关于video - ffmpeg 将 mov 转换为 mp4 而不会降低比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66248307/