Tag: mp4 streaming
Slow Loading and Issues Playing mp4 Video Files With Flash and IIS
by Charles on Nov.02, 2009, under Software
If you are streaming mp4 files with Flash or using IIS with mp4 files, it is likely that you may have had a few issues. The problems normally range from irregular video playback to no playback at all.
Mp4 Files and IIS
IIS 7 (and I assume 6) by default does not have mp4 (or even .f4v) files added to its known MIME types. This will not allow Mp4 files to playback in your flash applications even if you have implemented them correctly in your code. In order to fix this, you simply have to add a handler mapping for it. I will demonstrate how to do this in IIS.
Assuming you have it installed, in Administrative tools -> Internet Information Services (IIS) Manager you will find an icon for MIME Types on the default website selection menu. Click Add in the top left. For File name Extension: enter .mp4 and MIME type enter video/mpeg. After doing this, you should be able to playback the video assuming you don’t have a metadata issue, which I will describe below.
Mp4 Files and Metadata With Flash
When doing video playback in Flash I have always been a huge fan of using Netconnections in conjunction with the Netstream class. Although this is not as easy as using the FLVPlayback component, I feel like it gives me a lot more control of the video playback. If you are familiar with using Netstream, you will know that there is a continual event called onMetadata that gets called when starting playback of a video. I normally use this as a trigger to do things like resize the video.
With mp4 files generated by most video encoding and editing software, you will not receive the onMetadata event until the end of the file! That means in order to even start playback, your users would have to download the entire video! This is because the metadata of an MP4 file typically gets stored at the end of the file. There are a free software tools that you can use to move this metadata to the front and allow the mp4 file to be streamed.

