I have a video file that plays fine in VLC, but only shows 100% black frames in Windows Media Player, and in other applications that depend on system codecs (for example in MATLAB, which is where I need to load this video). The audio plays fine in either case.

I am running Windows 10. VLC says that the video codec is "Codec: H264 - MPEG-4 AVC (part 10) (H264)".

Windows Media Player provides the following list of video codecs installed: List of video codecs

Here is the output of ffprobe on the video:

>ffprobe example_video.avi
ffprobe version git-2020-05-28-c0f01ea Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200523
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 49.100 / 56. 49.100
  libavcodec     58. 89.100 / 58. 89.100
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 83.100 /  7. 83.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[avi @ 000002127a03fe00] decoding for stream 0 failed
Input #0, avi, from 'mergeWrite_19129058_merged_2019-11-26-16-45-12-536196.avi':
    encoder         : Lavf58.20.100
  Duration: 00:00:04.08, start: 0.000000, bitrate: 451526 kb/s
    Stream #0:0: Video: h264 (High 4:4:4 Predictive) (H264 / 0x34363248), yuv444p(progressive), 1280x1024, 456108 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 22050 Hz, stereo, fltp, 64 kb/s

Do you think installing a new codec would help? Can anyone point me towards a place to get them that doesn't seem really sketchy? Thank you!

  • H264 is bog standard, the windows player should be able to play it. But to answer your question, the K-lite codec pack is good. TBH it looks kinda sketchy — that website — but it's not, has been around for decades and is used by millions of people. codecguide.com/download_kl.htm – stib May 23 '20 at 2:03
  • @stib Thank you. I looked around at other people's experiences with that website, and there are a lot of reports of malware being bundled with downloads...so I'm a little wary of that. – Brionius May 28 '20 at 17:33
  • Can anyone point me to a tool or procedure I might use to diagnose exactly why this H264 video plays correctly in VLC but is all black frames in WMP? Thanks! – Brionius May 28 '20 at 17:33
  • I'm a professional editor, I've been using it for about a decade, as have around 3.7 million other people. But always good to be wary. Only download it from the codecguide site, or using chocolatey or a trusted package manager. If you want to know exactly what's going on, I'd suggest ffprobe, which is part of ffmpeg. ffmpeg.org – stib May 29 '20 at 3:47
  • Thank you for the vote of confidence in codecguide.com, and for the suggestion. I added the output of ffprobe on the video - not sure what to make of "decoding for stream 0 failed". Maybe there's an ffprobe option that would give more details? – Brionius May 29 '20 at 13:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.