[FFmpeg-user] mapping formats to file extensions and MIME types
Carl Eugen Hoyos
ceffmpeg at gmail.com
Sat May 20 19:05:30 EEST 2017
2017-05-20 1:51 GMT+02:00 Ofer Nave <odigity at gmail.com>:
> Anyone know of a reference for mapping ffmpeg format
> values to MIME types
You can use the FFmpeg source code to produce such a
mapping but I wonder what you need it for?
> and recommended file extension?
What is "recommended"?
The answer may be possible for avi (although .divx exists
iirc) but for asf, at least three "recommended" extensions
exist, for transport streams there may be even more.
Otoh, .mpg is used for three or four different formats, can
you "recommend" it for anything?
> My google attempt failed to turn up anything.
> I did manually put together a small list with guess-work and
> clues from Wikipedia, IANA
> and the Mozilla Developer Network
> for the subset of formats that I encountered in my video
> input test collection:
> ffmpeg Format Extension MIME Type
> ─────────────────────── ───────── ──────────────────────
> asf asf application/vnd.ms-asf
> avi avi video/x-msvideo
> flv flv video/x-flv
> matroska,webm webm video/webm
This is a demuxer that supports several formats
with different mime-types.
> m4v m4v video/x-m4v
This is a muxer.
> mov,mp4,m4a,3gp,3g2,mj2 mp4 video/mp4
This is a demuxer, again with different mime-types.
> mpeg mpeg video/mpeg
> mpegts mpeg video/mpeg
> mpegvideo mpeg video/mpeg
Both the extension list and the mime-types make
little sense, the formats are not identical.
Wikipedia claims the mime-type for mpegts is
"video/MP2T" (and MP2P for mpegps and dvd
for vob which I thought is the same).
> ogg ogv video/ogg
> matroska mkv video/x-matroska
> webm webm video/webm
These two are muxers.
> No idea if I've made the right calls, though.
> (The test files already have file extensions, but I'm operating
> on the assumption that the extension of a file a user uploads
> is irrelevant, and
This is generally correct although a few formats exist
for which probing is impossible or at least so difficult
that FFmpeg does not support it currently.
> that the file should be renamed based on ffprobe and
> intelligent mapping...)
If you don't trust the extension (which generally makes sense)
why would you trust the mime type? And why would you trust
it more than probing?
More information about the ffmpeg-user