Reputation: 1679
I am trying to convert a mov video to mp4, but I don't want any compression to happen. I recorded it with Quicktime on a Mac and did so with maximum, uncompressed quality. When I run ffmpeg -i
. I get:
Stream #0:0(und): Video: prores (apcn / 0x6E637061), yuv422p10le(bt709), 1280x720, 72073 kb/s, 30.09 fps, 30 tbr, 30k tbn, 30k tbc (default)
Note the kb/s is 72,073. I want to preserve this bit rate.
I've tried a few different conversion commands, including:
ffmpeg -i input.mov output.mp4
and:
ffmpeg -i input.mov -qscale 0 output.mp4
Both work, but both result in a loss of bit rate. See info on the results of both
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)
How do I convert to mp4 and still have ~72,000 kb/s? Is this possible?
Upvotes: 7
Views: 11444
Reputation: 133713
You're comparing apples to oranges. ProRes and H.264 are two completely different formats, so comparing bitrates is meaningless. What you're really asking is...
Just set the quality with -crf
. A value of 0
is lossless, and 18
looks lossless but really isn't.
ffmpeg -i input.mov -crf 18 output.mp4
Output file will be huge, and your player may not like it.
ffmpeg -i input.mov -crf 0 output.mp4
If you need the output to be playable in non-FFmpeg based players add -vf format=yuv420p
:
ffmpeg -i input.mov -crf 18 -vf format=yuv420p output.mp4
-vf format=yuv420p
if you're uploading to YouTube.ProRes is not compatible in MP4, so you can't just do a stream copy (like a copy and paste). However, for those finding to this question, and who have compatible formats, and want to just change the container from MOV to MP4:
ffmpeg -i input.mov -c copy output.mp4
Upvotes: 20