[FFmpeg-user] Error with parameterization using h264 with profiles

S. John john at dimis.fim.uni-passau.de
Fri Nov 28 15:29:16 CET 2014


Hi everybody!

I'm struggling with a simple task. Converting an .avi containing a 
single cvid
video stream with rgb24 color model to a .mp4 with h264 encoding.

For some reason, ffmpeg won't let me use any other h264 profile other than
high444. With every other profile i use, the encoder still seems to use 
yuv444p
pixel format (which is only allowed in high444). Doing so /
  ffmpeg -i input.avi -vcodec libx264 -vprofile main -pix_fmt yuv420p 
out.mp4/
results in an error:

Output #0, mp4, to 'out.mp4':
     Stream #0:0: Video: h264, yuv444p, 320x240, q=-1--1, 90k tbn, 15 tbc
Stream mapping:
   Stream #0:0 -> #0:0 (cinepak -> libx264)
/Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width o//r height/

I can circumvent the problem by manually specifying the correct pixel 
format:
/ffmpeg -i input.avi -vcodec libx264 -vprofile main -pix_fmt yuv420p 
out.mp4/

Is this an intended behavior? For what I read in the documentation, I 
expected
ffmpeg to automatically choose parameters in accordance to the selected 
profile.
Or is the profile selection more like an assert, just telling me 
whenever I'm not
in accordance with the constraints of a selected profile?

Thank you for any information on this topic!
Stefan


More information about the ffmpeg-user mailing list