I have a similar issue, but it only affects some input videos. Please see the following in the attached dropbox link:
https://www.dropbox.com/sh/5wqitzdtypy1 ... Ph2fa?dl=0
Two example input MOV files
Two example output .mp4 files when re-compressed with VLC command line, on Windows, and the cmd file being used, with the following VLC command line:
vlc.exe --no-repeat --no-loop -I dummy -vvv input.MOV --sout=#transcode{vcodec="h264",vb="2500",maxwidth="1280",maxheight="720",acodec="mp4a",ab="96","channels=2",samplerate="44100"}:standard{access="file",mux="mp4",dst="output.mp4"} vlc://quit
Originally I also had --sout-avcodec-strict=-2, but I'm not sure this is needed, and it doesn't make a difference to this issue.
With some input files, e.g. VLC_Good.MOV, the output is good. With some input files, e.g. VLC_Bad.MOV, the output (when played in VLC viewer) has no video for the first 8 seconds or so, and then the video resumes for the rest of the file, (when I use a longer input file - these examples are small and short and so no there is no video output seen in the viewer).
Both input files were shot on the same Canon camera, which has had no settings or firmware change, and both play perfectly in VLC viewer and other viewers.
The bad output files don't play properly in VLC or other viewers.