[FFmpeg-user] [prores] Why a little color difference by converting from ProRes 422 to MPEG-2

linxs linxsy at gmail.com
Mon Jul 27 01:50:15 CEST 2015


This is the command and its log:



F:\testhqmp>d:\mytools\ffmpeg -loglevel debug -i proress_hq.mov -c:v
mpeg2video
-seq_disp_ext  1  -b:v 50M -pix_fmt yuv420p -colorspace bt709
-color_primaries 1
 -color_trc 1 hq_mp2_dispext.m2v
ffmpeg version N-72939-g5b0f55a Copyright (c) 2000-2015 the FFmpeg
developers
  built with gcc 4.9.2 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl
--enable-version3
 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig
--ena
ble-frei0r --enable-gnutls --enable-iconv --enable-libass
--enable-libbluray --e
nable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-
libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--ena
ble-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-
libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-lib
vo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-li
bwavpack --enable-libwebp --enable-libx264 --enable-libx265
--enable-libxavs --e
nable-libxvid --enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 17.100 /  5. 17.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level)
with argument 'debug'.
Reading option '-i' ... matched as input file with argument
'proress_hq.mov'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument
'mpeg
2video'.
Reading option '-seq_disp_ext' ... matched as AVOption 'seq_disp_ext' with
argum
ent '1'.
Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
-b:v)
) with argument '50M'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
format) wit
h argument 'yuv420p'.
Reading option '-colorspace' ... matched as AVOption 'colorspace' with
argument
'bt709'.
Reading option '-color_primaries' ... matched as AVOption 'color_primaries'
with
 argument '1'.
Reading option '-color_trc' ... matched as AVOption 'color_trc' with
argument '1
'.
Reading option 'hq_mp2_dispext.m2v' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file proress_hq.mov.
Successfully parsed a group of options.
Opening an input file: proress_hq.mov.
[mov,mp4,m4a,3gp,3g2,mj2 @ 00612880] Format mov,mp4,m4a,3gp,3g2,mj2 probed
with
size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00612880] Before avformat_find_stream_info()
pos: 942
080 bytes read:83968 seeks:1
[mov,mp4,m4a,3gp,3g2,mj2 @ 00612880] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 00612880] After avformat_find_stream_info() pos:
9173
60 bytes read:993136 seeks:2 frames:1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'proress_hq.mov':
  Metadata:
    creation_time   : 2015-07-23 06:40:56
    timecode        : 00:00:14:20
  Duration: 00:00:00.04, start: 0.000000, bitrate: 180877 kb/s
    Stream #0:0(eng), 1, 1/24: Video: prores, 1 reference frame (apch /
0x686370
61), yuv422p10le(bt709), 1920x1080, 1/24, 174560 kb/s, SAR 1:1 DAR 16:9, 24
fps,
 24 tbr, 24 tbn, 24 tbc (default)
    Metadata:
      creation_time   : 2015-07-23 06:40:56
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
    Stream #0:1(eng), 0, 1/24: Data: none (tmcd / 0x64636D74), 1/24, 0 kb/s
(def
ault)
    Metadata:
      creation_time   : 2015-07-23 06:40:56
      handler_name    : Apple Alias Data Handler
      reel_name       : Unnamed
      timecode        : 00:00:14:20
Successfully opened the file.
Parsing a group of options: output file hq_mp2_dispext.m2v.
Applying option c:v (codec name) with argument mpeg2video.
Applying option b:v (video bitrate (please use -b:v)) with argument 50M.
Applying option pix_fmt (set pixel format) with argument yuv420p.
Successfully parsed a group of options.
Opening an output file: hq_mp2_dispext.m2v.
File 'hq_mp2_dispext.m2v' already exists. Overwrite ? [y/N] y
Successfully opened the file.
detected 4 logical cores
[graph 0 input from stream 0:0 @ 005f0d20] Setting 'video_size' to value
'1920x1
080'
[graph 0 input from stream 0:0 @ 005f0d20] Setting 'pix_fmt' to value '74'
[graph 0 input from stream 0:0 @ 005f0d20] Setting 'time_base' to value
'1/24'
[graph 0 input from stream 0:0 @ 005f0d20] Setting 'pixel_aspect' to value
'1/1'

[graph 0 input from stream 0:0 @ 005f0d20] Setting 'sws_param' to value
'flags=2
'
[graph 0 input from stream 0:0 @ 005f0d20] Setting 'frame_rate' to value
'24/1'
[graph 0 input from stream 0:0 @ 005f0d20] w:1920 h:1080 pixfmt:yuv422p10le
tb:1
/24 fr:24/1 sar:1/1 sws_param:flags=2
[format @ 0062ef20] compat: called with args=[yuv420p]
[format @ 0062ef20] Setting 'pix_fmts' to value 'yuv420p'
[auto-inserted scaler 0 @ 0071fc00] Setting 'flags' to value '0x4'
[auto-inserted scaler 0 @ 0071fc00] w:iw h:ih flags:'0x4' interl:0
[format @ 0062ef20] auto-inserting filter 'auto-inserted scaler 0' between
the f
ilter 'Parsed_null_0' and the filter 'format'
[AVFilterGraph @ 0061b5a0] query_formats: 4 queried, 2 merged, 1 already
done, 0
 delayed
[auto-inserted scaler 0 @ 0071fc00] w:1920 h:1080 fmt:yuv422p10le sar:1/1
-> w:1
920 h:1080 fmt:yuv420p sar:1/1 flags:0x4
[mpeg2video @ 006146a0] intra_quant_bias = 96 inter_quant_bias = 0
Output #0, mpeg2video, to 'hq_mp2_dispext.m2v':
  Metadata:
    timecode        : 00:00:14:20
    encoder         : Lavf56.36.100
    Stream #0:0(eng), 0, 1/24: Video: mpeg2video, 1 reference frame,
yuv420p(bt7
09), 1920x1080 [SAR 1:1 DAR 16:9], 1/24, q=2-31, 50000 kb/s, 24 fps, 24
tbn, 24
tbc (default)
    Metadata:
      creation_time   : 2015-07-23 06:40:56
      handler_name    : Apple Alias Data Handler
      encoder         : Lavc56.41.100 mpeg2video
Stream mapping:
  Stream #0:0 -> #0:0 (prores (native) -> mpeg2video (native))
Press [q] to stop, [?] for help
Cliping frame in rate conversion by 0.000008
[output stream 0:0 @ 0062ee00] EOF on sink link output stream 0:0:default.
No more output streams to write to, finishing.
frame=    1 fps=0.0 q=6.3 Lsize=      70kB time=00:00:00.04
bitrate=13748.6kbits
/s
video:70kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing ov
erhead: 0.000000%
Input file #0 (proress_hq.mov):
  Input stream #0:0 (video): 1 packets read (909168 bytes); 1 frames
decoded;
  Input stream #0:1 (data): 0 packets read (0 bytes);
  Total: 1 packets (909168 bytes) demuxed
Output file #0 (hq_mp2_dispext.m2v):
  Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (71608
bytes);
  Total: 1 packets (71608 bytes) muxed
1 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0062e020] Statistics: 0 seeks, 3 writeouts
[AVIOContext @ 0061b060] Statistics: 993136 bytes read, 2 seeks



2015-07-27 7:26 GMT+08:00 linxs <linxsy at gmail.com>:

> Hi,
>
> I get a .mov file and its video format is "ProRes 422, 24 fps, 1920x1080,
> BT.709".
> Using ffmpeg to convert it to MPEG-2:
> ffmpeg -i my.mov -c:v mpeg2video -b:v 30M -pix_fmt yuv420p my.m2v
>
> I compared them by previewing "my.mov" and "my.m2v" in Edius and I found
> there is a little color difference:
> "my.mov" seems to be a small little brighter than "my.m2v" and the color
> in "my.m2v" seems to be a little more saturate.
>
> I used "ffmpeg -i <input> -c:v rawvideo -pix_fmt yuv420p <output in yuv>"
> to check the yuv ouput of both mov/m2v files.
> I am sured that the yuv output of both are almost the same.
>
> Why is a little color diffence between the two files?
>
> Thanks for help!
>
> linxsy
>


More information about the ffmpeg-user mailing list