The MP4 file format is supposed to be universally compatible across all platforms and operating systems. And VLC is a popular video player that can play just about any video or audio file thrown at it and MP4 is no exception. However, it's very annoying when you use VLC to play MP4 files it ends up in "fail to open" or "black screen" situation in VLC. And there are some frequently asked questions quoted from forums:

vlc-mp4-solution.jpg

Q1:"I recently downloaded an mp4 torrent file, it contains two mp4 clips and main movie is mp4 as well. VLC player will play the two shorter clips no problem but will not play the main movie."

Q2: "I usually play .avi files in VLC, but I downloaded an .mp4 video and it won't play on VLC right. The sound is perfect, but the screen lags or it freezes while the song goes on."

Q3: "I have downloaded a new MP4 video from the website, but my VLC won't play the mp4. I am using latest version of VLC. Who can tell me can VLC play MP4 and how, please?"

In fact, there are many possible reasons that might lead to this issue like nonstandard MP4 codecs, corrupted MP4 files or the VLC "video output modes" is set wrong. In these situations, you only need to check MP4 and VLC own problems again. If your MP4 video and VLC have no damage, you may get trouble with the MP4 video codec. From VLC official website, we learn that MP4 is really one of VLC Player supported video formats, but you must know it has strict requiements: VLC Media Player is only compatible with MPEG-4 ASP, DivX 4/5/6, XviD, 3ivX D4 and H.264 / MPEG-4 AVC. If your an MP4 file contains a VLC unsupported audio or video codec, it can't be recognized by VLC. So the MP4 file can not be played in VLC smoothly.


Plus, attach VLC Media Player supported format chart:

vlc-support-format.png

What if you cannot get your MP4 files and VLC to play nicely? Fortunately, there are many solutions out there that allow you to solve the problem. Here, we provide you serval solutions to VLC not playing MP4 problem according to different situations.


I. VLC MP4 Hardware Decoding Limitation:

If the MP4 video still cannot play back in VLC, chances are that it might contain too many subtitle tracks or rendering effects, which is difficult for hardware decoding and your video card doesn't like to accelerate.


Solution: Try disabling hardware video decoding in VLC

1. Find it in Tools --> Preferences. Then in the lower left of the window, click to show all settings.

vlc-mp4-01.jpg

2. Now navigate to "Input / Codecs" --> "Video Codecs" --> "FFmpeg", in there you'll want to uncheck the box that relates to "Hardware decoding".

vlc-mp4-02.jpg

3. Close VLC and open it up again, load up your video and see if that works.


II. VLC MP4 Codec Problem:

VLC Plays most codecs with no codec packs needed: MPEG-2, MPEG-4, MPEG-4 ASP, H.264, DivX 4/5/6, XviD, SV1, 3ivX D4 and H.264/MPEG-4 AVCMKV, AMR, WebM, WMV, MP3... HOWEVER, MP4 files containing codecs like H.265 and other VLC unsupported A/V codecs cannot be read by VLC.


Solution 1: Download VLC Codec Pack

Try update your VLC to the latest version, and download VLC codec packs from CNET for this matter. There is not much to illustrate about this solution, since it is like "key-to-door" problem. Once you get the keys and you can open the certain door.


Solution 2: Convert MP4 codec to VLC supported codec

Directly converting the MP4 videos into MOV or other files formats that VLC can handle is one of the most convenient way to avoid VLC not playing MP4 issue. If you are not sure about the target converting format, you can test a certain video format that can be played by your VLC to decide. Here, we recommend you some professional converters you might be fond of: EaseFab video converter; Any video converter; Handbrake, Freemake Video Converter. Whichever you choose, be sure that it supports the needed output formats.

III. Other Unknown VLC MP4 Problems:

If the above solutions cannot solve your particular MP4 playback issue in VLC, and you do not specifically need VLC to play mp4 files, we suggest that you change a player.