Reasons why your MP4 does not play in VLC:
There are many reasons that might lead to "VLC won't play MP4" issue: your MP4 files might get corrupted, the output selected might be incorrect, the video codec might not be supported, the MP4 file may have several video, audio, subtitle streams that burden VLC too much in decoding them. Make sure that the problem not lying in the MP4 file itself, and then you are good to go with the following solutions.
I. 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: WinX/MacX video converter; Any video converter; Handbrake, Freemake Video Converter. Whichever you choose, be sure that it supports the needed output formats.
For more info, you can visit:
Top 3 Online Video Converters
Top Free Video Converters for Mac
II. 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.
2. Now navigate to "Input / Codecs" --> "Video Codecs" --> "FFmpeg", in there you'll want to uncheck the box that relates to "Hardware decoding".
3. Close VLC and open it up again, load up your video and see if that works.
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.
VLC MP4 Player Alternative - 5KPlayer
You can leave the MP4 playback problem to the professional MP4 player - 5KPlayer, which supports tons of A/V formats like h264, h265, VP8, VP9, XviD and it is able to play incomplete, unfinished, damaged videos or an unknown format in its raw form. It is one of the best solutions to VLC not playing MP4. 5KPlayer also outshines other MP4 players in image rendering ability with 4K/8K video support. Other file formats like FLV, WMV, MKV are also supported by 5KPlayer. To solve other VLC problems like VLC not working, VLC 4K playback problems, you can refer to the links accordingly.