I have a raw H264 file, saved from RTP stream. It has only video and has no audio.
The file format is:
0x00 0x00 0x00 0x01
sprop-parameter-sets
0x00 0x00 0x00 0x01
frame1
0x00 0x00 0x00 0x01
frame 2
0x00 0x00 0x00 0x01
sps etc.
0x00 0x00 0x00 0x01
frame 3
This file has .mp4 extension.
However, VLC CANNOT directly play it ( VLC can play from the RTSP/RTP stream used to save the file). Firefox can play it, and Linux Mint's default videos program can play it.
I have to tune VLC's preference "Demuxers" from "automatic" to "H264 video demuxer" to play this file.
I found that the .MP4 file which VLC can play without tuning, is formated as FTYP, MOOV, MDAT etc. section, which is quite different from the above "RAW" format.
So they are both H264 encoded, and both MP4 extension, what's the difference? And how to make VLC play my "RAW" file? How to convert my "RAW" file to VLC-playable MP4 file?