[FFmpeg-user] mapping formats to file extensions and MIME types

Ofer Nave odigity at gmail.com
Sun May 21 02:07:55 EEST 2017


Thanks for your response.

Maybe I wasn't clear enough about my situation.  My process is this:

1) User uploads file.
2) I ignore the file's current extension (if any) and use ffprobe to
determine the format name.
3) I then consult my mapping table to decide:
3a) What extension to rename the file.
3b) What contentType to serve the file with.

Is that wrong?

-ofer


On Sat, May 20, 2017 at 9:05 AM, Carl Eugen Hoyos <ceffmpeg at gmail.com>
wrote:

> 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
> > <https://www.iana.org/assignments/media-types/media-types.xhtml#video>,
> > and the Mozilla Developer Network
> > <https://developer.mozilla.org/en-US/docs/Web/HTTP/
> Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types>
> > 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?
>
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list