1

I exported a Flash movie with a black background to MOV, and converted the MOV to mp4 (H.264). In Quicktime player, the background of the MOV and mp4 are black. In native players in Firefox and Chrome (desktop) and Safari and Chrome (ipad), the background of the mp4 is black. In IE11... it's dark gray.

The actual gray is rgb 16 16 16, hex #101010. Any ideas?

3 Answers 3

3

The solution was to turn off IE-11's "hardware acceleration" feature which (says here) "lets Internet Explorer move all graphics and text rendering from the CPU to the Graphics Processing Unit (GPU)".

I disabled that under Tools -> Internet Options-> Advanced by selecting "Use software rendering instead of GPU rendering". It's pictured here

Then, after obligatory re-start (of IE), all the grays were black and colors bright in IE-11. Now, how I communicate this knowledge to IE users viewing my washed-out videos is a tough new question.

2
  • Thats a hard nut. Something you can't really tell your users, they either ignore it or will be too lazy to do that or simply dont want to. There is also webm as an HTML5 alternative but thats not supported by IE. The only real alternative would be using Flash Player as its probably installed on most machines that primarily use IE.
    – timonsku
    Oct 9, 2014 at 14:14
  • Thinking of IE, I have left a flash fallback. Until next time... Oct 9, 2014 at 14:24
1

The root cause is very likely the color space settings in your file. The video is also grey in Firefox on my machine but not in Chrome. If you open your file in MediaInfo you can see this at the bottom of the video stream:

Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601

This should say BT.709 in all three categories. What is happening that the player is honoring the color spaces differently and mixing stuff up. This setting likely started out in the Flash export to mov. Handbrake shouldn't do that without explicitly giving it a command line option to do this.

12
  • With Mediainfo, the MOV has no color primaries, Transfer characteristics or matrix coefficient info. If I export the MOV to H.264 with Avanti 0.8.1, same result - no color primaries etc. So, it must be Handbrake? But, problem within the problem - my Avanti export is "invalid" for IE 11 and Firefox (but not for Chrome), so I cannot tell whether the gray/black issue is solved in my IE (and your Firefox). I've put both videos here: www.casedasole.it/video/ie.html - NB: there's no audio, it's just a test of the black. Oct 8, 2014 at 14:53
  • Thats expected that these things don't show up in the mov, those are h264 specific flags. Handbrake just uses what it gets fed and the BT.601 color space is very likely set in your source codec. What codec are you using in you mov export? You might want to try the "Animation" codec and then try exporting with handbrake again. Also try the Normal and Android High preset this time (might need to adjust the resolution manually).
    – timonsku
    Oct 8, 2014 at 15:07
  • The MOVs are Animation, have no info on the specific codec. Exported with Handbrake as Android or Normal, I still get gray - casedasole.it/video/HB.html ...I'd like to see what Avanti makes of these files, but - as I wrote above - the files it makes are invalid. In fact, when I use Avanti to export any regular MOV (audio and video) as H.264, there is no video in any of them, only audio. Could we sidetrack to see what the Avanti issue is, so I can use it to export the mp4s, hopefully with real black? My unsuccessful settings are here: casedasole.it/video/avanti.html Oct 8, 2014 at 15:58
  • With Animation do you mean your video content or the codec? I would recommend to not use Avanti, its a horrible GUI for ffmpeg. You might want to try to just use ffmpeg itself with this command: ffmpeg -i input.mov -vcodec libx264 -preset slow -acodec copy -pix_fmt yuv420p output.mp4 Though note that ffmpeg/avanti and handbrake both use x264 as the encoder.
    – timonsku
    Oct 8, 2014 at 16:42
  • The MOVs were exported from Flash with setting "Animation", millions of colors. I downloaded and unzipped ffmpeg, 7MB of stuff, but no exe. Gee, even exe's are GUI? Anyway, I'll test a little more with Avanti, to figure out why it exports the audio without the video (just for contrast, an AVI exported from Flash and then exported as H.264 with Handbrake has video but no audio). Thanks for the tips, will update later. Oct 8, 2014 at 18:13
1

I had this issue for a very long time in pretty much every program I played MP4 videos in. It turns out that by default, the Nvidia drivers don't actually have the full dynamic range enabled. I changed it, and tested it just to confirm that it really worked. Just open up the control panel, and change the dynamic range to "Full":


Regarding the current accepted answer: it doesn't seem to regard the fact that there will almost certainly be a large performance hit when disabling hardware acceleration, and is not a proper solution as a result. If it resolved the problem for you, it's pretty likely that just changing the driver settings (my answer) is far better than outright disabling hardware acceleration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.