[FFmpeg-user] No pixel format specified - meaning of yuv420p?
MRob
mrobti at insiberia.net
Fri Dec 2 02:00:25 EET 2016
I'm exporting a video from an older Adobe Elements (Windows) with
intention to put it on the web (both H.264 and VP8). I exported using
Adobe's "DV AVI" which appears to be the most unmolested output format,
but I get what looks like TWO warnings, the second of which I think
causes the final error:
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from 'video.avi':
Duration: 00:38:45.35, start: 0.000000, bitrate: 30313 kb/s
Stream #0:0: Video: dvvideo (dvsd / 0x64737664), yuv411p, 720x480
[SAR 8:9 DAR 4:3], 28777 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97
tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
No pixel format specified, yuv422p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
x264 [error]: baseline profile doesn't support 4:2:2
[libx264 @ 0x44edec0] Error setting profile baseline.
[libx264 @ 0x44edec0] Possible profiles: baseline main high high10
high422 high444
Stream mapping:
Stream #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height
I see this mailing list post which may "fix" the error for me(?):
https://ffmpeg.org/pipermail/ffmpeg-user/2012-April/006013.html
But from reading that mailing list post and the error message text, it
sounds like adding "-pix_fmt yuv420p" affects the output. I do not need
to retain compatibility with terribly old devices (though I am using
baseline level 3.0), so I wanted to ask if there is a better way to
handle conversion in this case.
There is also an option in Elements to export MPEG H.264 ("1080i 25" or
"1080i 30", providing profiles main/high, levels 4/4.1, default 1 pass
bitrate of 20, etc), but I don't understand all their settings and I
trust ffmpeg to do a better job and I don't want to encode twice if
possible.
Here are the options I'm using for H.264 conversion:
-movflags +faststart -codec:v libx264 -preset veryslow -profile:v
baseline -level:v 3.0 -codec:a aac
For VP8 conversion, I only get the first warning:
Guessed Channel Layout for Input Stream #0.1 : stereo
Otherwise, it completes without any errors.
I tried "-pix_fmt yuv420p" for H.264 conversion and it completed without
error, but I'm still unsure if it was exactly what I want -- conversion
from slightly outdated platform to the web, no desire to retain
"compatibility with outdated media players" as it tells me.
Thanks for the help and thanks for the quite excellent product.
More information about the ffmpeg-user
mailing list