1
votes

I need to play videos on an embedded flash player in a webpage (I'm using jwplayer). I know that mp4 and flv can play on flash players. Which among these two is the better format? I read that mp4 video needs to load completely because moov atom is in beginning of the file. Is there any place where I can get a complete comparison of mp4 vs flv videos on flash player?

EDIT: My choice is mp4 since it can be played on a flash player and it can also be played on devices that do not support flash, size difference is negligible between the two since both use h.264/aac. But I need to convince someone else. So please list any cons of using mp4 over flv so that I do not miss anything

1
Have you tried google?Nitesh
I did. A lot of the results are about html5. But I am not using html5 at all for now. I just need to play the video using a flash playeravmohan
I would use MP4 over FLV for sure.emaxsaun
@EthanLongTail That's my position too. My reason is that mp4 can be played on platforms without flash support and it can also be played on a simple flash player (>version 9.0.60.184) for desktop browsers. There is not much size difference between mp4 & flv since I'm using h.264/aac codecs for both, only container is different. But is there any disadvantage in using mp4?avmohan
Exactly. No real disadvantages in my opinion.emaxsaun

1 Answers

6
votes

I am documenting the data I've collected on this topic since it might be useful for some other video-noobs like me in the future. I'm new so don't If I've missed any point, please feel free to point it out.

Advantages of MP4 compared to FLV

  • MP4 can be played on platforms without flash support such as android & iOS
  • It can be played on an embedded flash player and is also supported in HTML5 video tags

Neutral

  • Since both uses h.264/AAC codecs for video/audio,there is very negligible difference in size and quality

Disadvantage of using MP4

  • When converting to MP4 using ffmpeg, a moov atom is written to the end of the file. It is sort of an index that should be examined before the video can be played. As a result, the whole video needs to be downloaded before the video can start playing. But there are fixes for this

    Fixes for this problem

  • Use qt-faststart to move the moov atom to start of the file.

  • Run ffmpeg with -movflags faststart to move the moov atom to start of the file.

Found useful https://superuser.com/questions/136851/h264-inside-flv-container-vs-mp4-container?rq=1