Wednesday, October 31, 2007

New File Extensions and MIME Types

There have been a few questions around file types and mime types which should be used for the new video container format. To summarize this post, we will promote new file extensions and will stick with standard MIME types.

The new file extensions and MIME types will be the following:

File ExtensionFTYPMIME TypeDescription
.f4v'F4V 'video/mp4Video for Adobe Flash Player
.f4p'F4P 'video/mp4Protected Media for Adobe Flash Player
.f4a'F4A 'audio/mp4Audio for Adobe Flash Player
.f4b'F4B 'audio/mp4Audio Book for Adobe Flash Player

These are pretty much in sync with what Apple does offer for their downloads. Why new file extensions? It will be an easy way to distinguish files which can be played back by the Flash Player. There are simply too many instances where .mov and .mp4 files can not be played back, or vise versa, a file compatible with the Flash Player might not play back in QuickTime, an iPod or other video device. I will also be working on a technical document to exactly outline what the Flash Player does support and what it does not support although my previous posts already pointed out that we are very close to full support of the H.264 standard with the exception of Extended profile and FRExt.

Why didn't we stick with .FLV? Technical reasons, mostly. Various technologies, including our own products expect that .FLV files have a certain file structure. In case of Flash CS3 a file which was renamed from .MP4 to .FLV would stall the application at import time. Not a good experience. In case of FMS file type plug ins can only handle unique file extensions. In this context it made it impossible to have files with the new container format using the .FLV file extension. We expect other tools to have similar issues.

It's not yet clear when our video tools will start using these extensions, although I expect it to happen sooner than later. The first one to be used will clearly be .f4v, the other ones are in 'reserved' state for now and not destined for a particular product right now. Why do I talk about this now in this case? Well, as we ready the Flash Player for release we did add new icons and file extension registration of these file types into the standalone Flash Player. So it's better to make this announcement now as you will discover this on your own very soon anyway.

If you ask what the FTYP column is, it is the ftyp atom within ISO 14496-12 files. If you have a custom encoder and are targeting the Flash Player you should add one of the ftyp major brand 4CCs mentioned above. This will make it much easier for servers to handle and recognize these files. And to prevent you from panicking now: the Flash Player will not even look at this atom. This atom is nothing more than a hint for tools handling ISO14496-12 files. A list of known ftyp major brand 4CCs can be found here. We'll hopefully make this list also at some point.

It might be a good time to update your IIS mime-type entries to include the new file extensions, otherwise IIS will refuse to play serve up these files. This is the same process as for flv files described in Technote 19439, but using the file extensions and mime types mentioned above.

Update, since I am apparently not clear enough and have to repeat myself: the Flash Player will not look at the file extension when loading files. It just means that if you are targeting the Flash Player or AIR we suggest to use these file extensions.


Blogger hermosawave said...

All in all I think this is a good idea. BUT the current situation where one can play an m4v-labeled file inside the Flash Player has a lot of very useful implications.

In a previous post you mentioned that Flash doesn't care what the suffix is, so I hope this move is just for clarification and that I can continue to feed unaltered QT M4V files directly into the Flash Player.

If not, I think it's a big mistake.

-- Daniel Sofer

Thursday, November 01, 2007 8:59:00 AM  
Anonymous Anonymous said...

"Protected Media for Adobe Flash Player"? DRM coming to a Flash Player near you?

Friday, November 02, 2007 9:31:00 PM  
Blogger trueice said...

Hi, Tinic,

Will the new flash player support fragmented movie tracks, that is, the 'moof/traf' atoms? That will speed up the http progressive download and reduce the size of the moov atoms.


Saturday, November 03, 2007 6:20:00 PM  
Blogger Arul Prasad said...


Is there plans to have the Flash Standalone player open these new file types (and .flv) as a standalone app? Or will it all be handled only at the adobe Media player level?

Monday, November 05, 2007 2:17:00 PM  
Anonymous CowLauncher said...


I don't get it. Adobe makes a move to go to an open standard and then covers it with proprietary special sauce. Weird file extensions? No RTSP support? Why bother even going to H264? This kind of stuff makes using a Flash wrapper to distribute our video content a no go and I am pretty sure other big distributers are not going to ether.


Wednesday, November 14, 2007 9:30:00 AM  
Anonymous William from Lagos said...

I would love an answer to Arul Prasad's question above.

Saturday, November 17, 2007 9:45:00 AM  
Anonymous Anonymous said...

Give us XML based 'FLX' text files as reference files with correct MIME types and leave the media extensions as they are. Problem solved!

All the benefits of using a open standard are lost, only because you want to know for sure that the file is opened in the correct player? That is just plain stupid.

For many years, we have used meta files / referrer files to do this. RAM for Real, QTL for QuickTime, WMX/ASX/WAX for Windows Media.

Anyone using MOV, 3GP, M4V and MP4 files wants to use these files, unmodified, and have them distributed and played back by any server and device. By introducing your own filetypes for standards with their own filetypes you introduce nothing but confusion and ask your precious customers to actually copy the same MP4 file and rename it F4V. More storage, less flexibility.

The real reason to use your own file types is to lock customers in the Adobe video world. Shame on you Adobe:

Stick to standards! Use RTSP instead of RTMP. Don't claim RTMP is your own invention. It's a RTSP rip-off.

And use a FLX metafile for MP4, MOV, 3GPP and FLV files. Like everyone is used to.

Thursday, November 22, 2007 12:37:00 PM  
Anonymous Anonymous said...

So is it actualy posible to open flash files with programs other than flash player? If so, what file extension would I use?

Sunday, December 23, 2007 12:56:00 PM  
Anonymous Anonymous said...

I am hoping you can answer a question for me that I can't seem to find an answer to.

Apple's iPod supports H.264 or mp4 video. The newest Flash player supports H.264 video. I think I am reading that flv (or f4v, rather) will feature H.264?

So am I assuming correctly that a f4v featuring H.264 will play on my iPod

Wednesday, January 09, 2008 7:43:00 AM  
Blogger knk2007 said...

I hop Adobe improves this. The player (Netstream layers) needs to start supporting http 1.1’s range-requests, this will allow random seeking within even very large files (without having to download), and, lends itself to asking the web server for the tail of the file (the moov atoms) when they aren’t detected in the head. For reference, VLC player already supports/does this over http, and pre-fetches the tail moov atoms when they dont exist at the head of a mp4..

Thursday, March 06, 2008 10:29:00 PM  

Post a Comment

<< Home