VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. I am converting fraps AVI videos to MP4s and I've been using a program called Xmedia Recode -- which is just a shell around FFMPEG for the grunt work -- but I am finding my output videos are "washed out". Most of the time this doesn't bother me, but sometimes it is so ridiculously obvious it positively hurts my eyes with vibrant colours reduced to absolute grey garbage. (Notably the "Shangri-La" in FC4 where the reds are turned into very grey "reds".)

    I've done some digging around and found that the reason is the color mode being used: yuv420p. This only provides 8 bits of colour, according to the output. I know I should instead be using "pix_fmt yuvj420p" says someone random. So, I run "ffmpeg -pix_fmts" I get a looooooooong list of options including "yuvj420p". Yay!

    Problem is the only option Recode offers me against the "Color Mode" option is one simple "YUV 4:2:0 Planar 12bpp" and there does not seem to be any other option or setting anywhere else in the program to change that.

    Is anyone aware of a way of forcing Recode to add a dropdown option in Recode? Or is there some setting I am using that prevents me using any other color mode? Or is Recode just poorly coded and doesn't offer all the options I could have?

    The problem, I think, is that I am converting videos using CRF, which gives really good results otherwise, and I think is WAY too complicated for me to try doing using the command line -- I am guaranteed to f(k) that up

    Thanks in advance for any help.

    For background, my output videos come out with the following settings:
    Code:
    General
    Format                         : MPEG-4
    Codec ID                       : isom
    Overall bit rate mode          : Variable
    Overall bit rate               : 1 528 Kbps
    Writing application            : Lavf56.40.101
    
    Video
    ID                             : 1
    Format                         : AVC
    Format/Info                    : Advanced Video Codec
    Format profile                 : Main@L4.1
    Format settings, CABAC         : Yes
    Format settings, ReFrames      : 2 frames
    Codec ID                       : avc1
    Color space                    : YUV
    Chroma subsampling             : 4:2:0
    Bit depth                      : 8 bits
    Scan type                      : Progressive
    Bits/(Pixel*Frame)             : 0.517
    Stream size                    : 2.36 MiB (88%)
    Writing library                : x264 core 148 r2538
    Encoding settings              : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x131 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=50 / keyint_min=5 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=24000 / vbv_bufsize=24000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=3:1.00
    Quote Quote  
  2. ffmpeg's libx264 needs to be compiled for 10 bit. This is probably not the case for Xmedia Recode. But: "vibrant colours reduced to absolute grey garbage" does not sound like a typical 8 bit vs 10 bit problem. That is usually sign of using the wrong matrix or range color conversion. For example output is pc instead of tv range. Unfortunately, I do not know if it is possible to set those using Xmedia. The correct settings may also depend on how you encode the fraps video.
    - show MediaInfo of Fraps video
    - show your version of Fraps
    - show encoding settings of Fraps
    - upload a sample (source and re-encode)
    - screenshot that shows the problem

    Then maybe someone can give you the correct info for conversion. If it is RGB try something like this:
    ffmpeg -i "fraps_file" -vf scale=out_color_matrix=bt709:out_range=tv -c:v libx264 -crf 20 -preset medium -c:a aac "output.mp4"
    Last edited by sneaker; 20th Dec 2016 at 04:41.
    Quote Quote  
  3. >Notably the "Shangri-La" in FC4 where the reds are turned into very grey "reds".

    Under the Video tab, Video Usability information, try setting Primaries, Matrix, and Transfer to "BT.709"


    With YV12 / 4:2:0 color subsampling you will lose a bit of color saturation in small details. FFmpeg & x264 (command line) support YV24/4:4:4 [which] does not have this problem; however many players can't decode this format. The last time I looked, YouTube also does not. That's probably why XMedia Recode is YV12 only.

    If you want to experiment, here's an ffmpeg command line which will convert a Fraps video to YUV444. Line breaks added for web viewing only.
    Code:
    ffmpeg -i "video.avi" 
    -c:v libx264  -crf 18.0 -preset veryfast -profile:v high444 
    -x264opts "colorprim=bt709:transfer=bt709:colormatrix=bt709" 
    -pix_fmt yuv444p
    -c:a aac -q:a 0.35
    "output.mp4"
    Last edited by raffriff42; 20th Dec 2016 at 17:39. Reason: typo
    Quote Quote  
  4. 8 bit YUV 4:2:0 isn't your problem. Every DVD, Blu-ray, and broadcast/satellite/cable video you've watched has used it. Your problem is the conversion from your source is being done incorrectly (probably video vs. computer levels). Or your graphics card may not be set up properly for displaying YUV video.

    Beware that h.264 with no chroma subsampling (ie 4:4:4) will give you very limited playback possibilities. Little outside a full blown computer can deal with it.
    Last edited by jagabo; 19th Dec 2016 at 21:30.
    Quote Quote  
  5. Member vhelp's Avatar
    Join Date
    Mar 2001
    Location
    New York
    Search Comp PM
    Code:
    -x264opts "colorprim=bt709:transfer=bt709:colormatrix=bt709"
    Are these param's just flags to embed in the video (to tell the players how to decode correctly) or are they actually changing the image to these color formats ?
    Quote Quote  
  6. Originally Posted by vhelp View Post
    Code:
    -x264opts "colorprim=bt709:transfer=bt709:colormatrix=bt709"
    Are these param's just flags to embed in the video (to tell the players how to decode correctly) or are they actually changing the image to these color formats ?
    They're just flags.
    Quote Quote  
  7. Originally Posted by raffriff42 View Post
    With YV12 / 4:2:0 color subsampling you will lose a bit of color saturation in small details. FFmpeg & x264 (command line) support YV24 / 4:4:4 does not have this problem; however many players can't decode this format. The last time I looked, YouTube also does not. That's probably why XMedia Recode is YV12 only.
    Hmm, yes. I didn't think about this when I read the post but with gaming + red colors sub-sampling may indeed be a problem. He should also make sure he's using a decent player (like MPC-HC + madvr) then to make sure the upsampling is done in a decent way.
    Quote Quote  
  8. I posted a sample of YV12 blurring small colored objects (text in this case) in this post:

    https://forum.videohelp.com/threads/319360-DVD-LAB-PRO-color-map?p=1977264&viewfull=1#post1977264

    This effects only small colored object and sharp colored edges. It has no effect on large flat areas and would not make a video look washed out -- unless the video consisted only of small colored objects.
    Last edited by jagabo; 20th Dec 2016 at 07:31.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!