Multimedia player MIME type support status

Debian include several media players, and it is hard to pick the right one to install. But one metric to use is the amount of supported file formats, to increase the chance of being able to play any encountered media file.

This wiki page list which MIME types are supported by the various media players in Debian, based on their announced MIME type support in the package desktop file. The desktop files include a ?MimeType attribute listing all the MIME types supported, and this information is used by the desktop environment and web browsers to decide which players to list as media player options. See also a similar list for browser plugins.

This list is automatically generated using the script below. The players are sorted according to number of MIME types supported, the one supporting most MIME types being listed first. The "official" MIME types (ie the ones listed in /etc/mime.types) are listed in bold. The MIME types emited by file --mime-type is marked with (*).

Debian/sid 2017-11-29

MIME type

totem 3.26.0-2 (152 types)

smplayer 17.8.0~ds0-1 (151 types)

vlc 2.2.8-1 (147 types)

gnome-mpv 0.13-1 (127 types)

parole 0.8.1-1 (121 types)

xine-ui 0.99.9-1.3 (105 types)

kaffeine 2.0.13-1 (78 types)

mpv 0.27.0-2+b2 (70 types)

mplayer-gui 2_1.3.0-7+b1 (65 types)

kmplayer 1_0.12.0b-2 (57 types)

dragonplayer 4_17.08.3-1 (17 types)

video/mp4(*)

X

X

X

X

X

X

X

X

X

X

X

video/mpeg(*)

X

X

X

X

X

X

X

X

X

X

X

video/quicktime(*)

X

X

X

X

X

X

X

X

X

X

X

video/webm(*)

X

X

X

X

X

X

X

X

X

X

X

video/x-flv(*)

X

X

X

X

X

X

X

X

X

X

X

video/x-matroska(*)

X

X

X

X

X

X

X

X

X

X

X

video/x-ms-asf(*)

X

X

X

X

X

X

X

X

X

X

X

video/x-ms-wmv

X

X

X

X

X

X

X

X

X

X

X

video/x-msvideo(*)

X

X

X

X

X

X

X

X

X

X

X

application/ogg(*)

X

X

X

X

X

X

X

X

X

X

application/vnd.rn-realmedia

X

X

X

X

X

X

X

X

X

X

audio/mp4(*)

X

X

X

X

X

X

X

X

X

X

audio/mpeg(*)

X

X

X

X

X

X

X

X

X

X

audio/x-flac(*)

X

X

X

X

X

X

X

X

X

X

audio/x-mpegurl

X

X

X

X

X

X

X

X

X

X

audio/x-ms-wma

X

X

X

X

X

X

X

X

X

X

audio/x-scpls

X

X

X

X

X

X

X

X

X

X

audio/x-wav(*)

X

X

X

X

X

X

X

X

X

X

video/ogg(*)

X

X

X

X

X

X

X

X

X

X

video/vnd.rn-realvideo

X

X

X

X

X

X

X

X

X

X

application/x-ogg

X

X

X

X

X

X

X

X

X

audio/ac3

X

X

X

X

X

X

X

X

X

audio/basic(*)

X

X

X

X

X

X

X

X

X

audio/flac

X

X

X

X

X

X

X

X

X

audio/ogg(*)

X

X

X

X

X

X

X

X

X

audio/vnd.rn-realaudio

X

X

X

X

X

X

X

X

X

audio/x-aiff(*)

X

X

X

X

X

X

X

X

X

audio/x-mp3

X

X

X

X

X

X

X

X

X

audio/x-musepack(*)

X

X

X

X

X

X

X

X

X

audio/x-pn-realaudio(*)

X

X

X

X

X

X

X

X

X

audio/x-wavpack

X

X

X

X

X

X

X

X

X

video/mp2t

X

X

X

X

X

X

X

X

X

video/x-ogm+ogg

X

X

X

X

X

X

X

X

X

audio/amr

X

X

X

X

X

X

X

X

audio/mpegurl

X

X

X

X

X

X

X

X

audio/x-m4a(*)

X

X

X

X

X

X

X

X

audio/x-matroska

X

X

X

X

X

X

X

X

audio/x-mod(*)

X

X

X

X

X

X

X

X

audio/x-mpeg

X

X

X

X

X

X

X

X

audio/x-vorbis+ogg

X

X

X

X

X

X

X

X

video/msvideo

X

X

X

X

X

X

X

X

video/x-avi

X

X

X

X

X

X

X

X

video/x-mpeg

X

X

X

X

X

X

X

X

application/ram

X

X

X

X

X

X

X

application/xspf+xml

X

X

X

X

X

X

X

audio/amr-wb

X

X

X

X

X

X

X

audio/mp2

X

X

X

X

X

X

X

audio/x-ape(*)

X

X

X

X

X

X

X

audio/x-it

X

X

X

X

X

X

X

audio/x-ms-asx

X

X

X

X

X

X

X

audio/x-realaudio

X

X

X

X

X

X

X

audio/x-s3m

X

X

X

X

X

X

X

audio/x-tta

X

X

X

X

X

X

X

audio/x-xm

X

X

X

X

X

X

X

video/dv

X

X

X

X

X

X

X

video/flv

X

X

X

X

X

X

X

video/x-fli(*)

X

X

X

X

X

X

X

video/x-flic

X

X

X

X

X

X

X

video/x-nsv

X

X

X

X

X

X

X

video/x-theora+ogg

X

X

X

X

X

X

X

x-content/video-dvd

X

X

X

X

X

X

X

x-scheme-handler/mms

X

X

X

X

X

X

X

application/mxf(*)

X

X

X

X

X

X

application/sdp

X

X

X

X

X

X

application/smil

X

X

X

X

X

X

application/vnd.apple.mpegurl

X

X

X

X

X

X

application/vnd.ms-asf

X

X

X

X

X

X

application/x-flac

X

X

X

X

X

X

application/x-flash-video

X

X

X

X

X

X

application/x-matroska

X

X

X

X

X

X

audio/aac

X

X

X

X

X

X

audio/mp3

X

X

X

X

X

X

audio/wav

X

X

X

X

X

X

audio/x-mp2

X

X

X

X

X

X

audio/x-pn-aiff

X

X

X

X

X

X

audio/x-pn-au

X

X

X

X

X

X

audio/x-pn-realaudio-plugin

X

X

X

X

X

X

audio/x-pn-wav

X

X

X

X

X

X

audio/x-real-audio

X

X

X

X

X

X

audio/x-speex

X

X

X

X

X

X

audio/x-vorbis

X

X

X

X

X

X

video/3gpp(*)

X

X

X

X

X

X

video/mp4v-es

X

X

X

X

X

X

video/vnd.mpegurl

X

X

X

X

X

X

video/x-anim

X

X

X

X

X

X

video/x-mpeg2

X

X

X

X

X

X

video/x-ms-wmx

X

X

X

X

X

X

video/x-theora

X

X

X

X

X

X

x-content/video-svcd

X

X

X

X

X

X

x-content/video-vcd

X

X

X

X

X

X

application/vnd.rn-realmedia-vbr

X

X

X

X

X

application/x-extension-m4a

X

X

X

X

X

application/x-extension-mp4

X

X

X

X

X

application/x-quicktime-media-link

X

X

X

X

X

application/x-quicktimeplayer

X

X

X

X

X

audio/3gpp

X

X

X

X

X

audio/m4a

X

X

X

X

X

audio/midi(*)

X

X

X

X

X

audio/mp1

X

X

X

X

X

audio/mpg

X

X

X

X

X

audio/scpls

X

X

X

X

X

audio/webm

X

X

X

X

X

audio/x-aac

X

X

X

X

X

audio/x-gsm

X

X

X

X

X

audio/x-mp1

X

X

X

X

X

audio/x-mpg

X

X

X

X

X

audio/x-ms-asf

X

X

X

X

X

audio/x-ms-wax

X

X

X

X

X

audio/x-pn-windows-acm

X

X

X

X

X

audio/x-shorten

X

X

X

X

X

image/vnd.rn-realpix

X

X

X

X

X

misc/ultravox

X

X

X

X

X

video/3gp

X

X

X

X

X

video/3gpp2(*)

X

X

X

X

X

video/divx

X

X

X

X

X

video/fli

X

X

X

X

X

video/x-flc(*)

X

X

X

X

X

video/x-m4v(*)

X

X

X

X

X

video/x-ms-wm

X

X

X

X

X

video/x-ms-wvx

X

X

X

X

X

x-content/audio-cdda

X

X

X

X

X

x-scheme-handler/mmsh

X

X

X

X

X

x-scheme-handler/rtmp

X

X

X

X

X

x-scheme-handler/rtsp

X

X

X

X

X

application/vnd.ms-wpl

X

X

X

X

application/x-shockwave-flash(*)

X

X

X

X

application/x-smil

X

X

X

X

audio/3gpp2

X

X

X

X

audio/dv

X

X

X

X

audio/eac3

X

X

X

X

audio/opus

X

X

X

X

audio/x-stm

X

X

X

X

text/google-video-pointer

X

X

X

X

text/x-google-video-pointer

X

X

X

X

video/mpeg-system

X

X

X

X

video/vnd.divx

X

X

X

X

video/x-ms-asf-plugin

X

X

X

X

video/x-ms-asx

X

X

X

X

x-content/audio-player

X

X

X

X

x-scheme-handler/rtp

X

X

X

X

application/mpeg4-iod

X

X

X

application/mpeg4-muxcodetable

X

X

X

application/smil+xml

X

X

X

application/x-netshow-channel

X

X

X

application/x-shorten

X

X

X

audio/vnd.dolby.heaac.1

X

X

X

audio/vnd.dolby.heaac.2

X

X

X

audio/vnd.dolby.mlp

X

X

X

audio/vnd.dts

X

X

X

audio/vnd.dts.hd

X

X

X

video/avi

X

X

X

video/x-mpeg-system

X

X

X

x-scheme-handler/icy

X

X

X

x-scheme-handler/icyx

X

X

X

application/streamingmedia

X

X

application/x-cd-image

X

X

application/x-mplayer2

X

X

application/x-streamingmedia

X

X

audio/prs.sid

X

X

audio/vorbis

X

X

audio/x-adpcm(*)

X

X

audio/x-m4b

X

X

audio/x-sbc

X

X

audio/x-voc

X

X

image/x-pict

X

X

video/vivo

X

X

video/vnd.vivo

X

X

video/x-mng(*)

X

X

video/x-ogm

X

X

video/x-totem-stream

X

X

x-scheme-handler/pnm

X

X

application/adrift

X

application/annodex

X

application/playerpro

X

application/vnd.adobe.flash.movie

X

application/x-annodex

X

application/x-cue

X

application/x-kmplayer

X

application/x-mpegurl

X

application/x-ogm

X

application/x-ogm-audio

X

application/x-ogm-video

X

audio/168sv

X

audio/8svx

X

audio/aiff

X

audio/annodex

X

audio/it

X

audio/m3u

X

audio/med

X

audio/mod

X

audio/mpeg2

X

audio/mpeg3

X

audio/musepack

X

audio/rn-mpeg

X

audio/s3m

X

audio/x-16sv

X

audio/x-8svx

X

audio/x-amf

X

audio/x-annodex

X

audio/x-basic

X

audio/x-flac+ogg

X

audio/x-m3u

X

audio/x-mpeg2

X

audio/x-mpeg3

X

audio/x-ms-wvx

X

audio/x-ogg

X

audio/x-oggflac

X

audio/x-pls

X

audio/x-pn-windows-pcm

X

audio/xm

X

image/ilbm

X

image/png(*)

X

image/x-ilbm

X

image/x-png

X

inode/directory

X

video/anim

X

video/annodex

X

video/mediaplayer

X

video/mkv

X

video/mng

X

video/mp2p

X

video/x-annodex

X

video/x-ms-afs

X

video/x-ms-wax

X

video/x-ms-wmp

X

video/x-ms-wvxvideo

X

video/x-ogg

X

video/x-quicktime

X

x-content/audio-dvd

X

x-scheme-handler/net

X

x-scheme-handler/rtspt

X

x-scheme-handler/rtspu

X

x-scheme-handler/uvox

X

How to generate the wiki table

The list should be updated regularly on Debian unstable using the following script:

#!/bin/sh
#
# List the MIME types supported by various media players in Debian.
#
# Source is licensed according to GPL v2 or later versions at your choice.
#
# https://wiki.debian.org/DebianMultimedia/PlayerSupport
#
# Note MIME types are case insensitive according to
# https://www.ietf.org/rfc/rfc2045.txt

set -e

# Generated from manually edited list initiated by
#pkgs="$(appstreamcli what-provides mimetype video/quicktime |awk '/Package:/ { print $2}' | tr "\n" " ")"
# The 'video/quicktime' MIME type was selected as one that seem to be
# supported by all media players.

pkgs="kmplayer smplayer gnome-mpv mpv parole mplayer-gui vlc totem kaffeine xine-ui"

echo "Comparing packages $pkgs"

for pkg in $pkgs; do
    ver=`dpkg -l "$pkg" | awk '/^ii/ {print $3}' | sed s/:/_/g`
    for desktop in $(dpkg -L "$pkg" | grep /usr/share/applications/); do
#       echo $desktop
        grep -i ^MimeType= $desktop | cut -d= -f2- | sed 's/;/:\n/g' | \
            sed "s%^%$pkg:$ver:%" | sort | tr A-Z a-z
    done
done | perl -e '
my %mimetypes = ();
my %pkgs = ();
my %supported = ();
while (<>) {
# mozilla-plugin-vlc:0.8.6.h-4+lenny2:application/x-mplayer2::Windows Media;
  my ($pkg, $ver, $mime, $ext, $desc) = split(/:/);
  $pkgs{$pkg} = $ver;
  if (! exists $mimetypes{lc($mime)}{$pkg}) {
    $supported{$pkg}++;
    $mimetypes{lc($mime)}{$pkg} = 1;
  }
}

my %official = ();
open(F, "/etc/mime.types");
while (<F>) {
  s/\#.*$//;
  next if m/^\s*$/;
  my ($mime) = split(/\s+/);
  $official{lc($mime)} = 1;
}
close(F);

# Extract MIME types emited by file(1)
my %fromfile = ();
open(F, "strings /usr/share/file/magic.mgc |");
while (<F>) {
  $fromfile{$1} = 1 if (m%^([a-z0-9-]+/[a-z0-9-]+)$%);
  strip;
}
close(F);

print "|| MIME type ||";
for my $pkg (sort { $supported{$b} <=> $supported{$a} } keys %pkgs) {
  my $ver = $pkgs{$pkg};
  my $mimecount = $supported{$pkg};
  print " [[https://tracker.debian.org/pkg/$pkg|$pkg]] $ver ($mimecount types) ||";
}
print "\n";
sub sorter {
  my $ret = scalar keys %{$mimetypes{$b}} <=> scalar keys %{$mimetypes{$a}};
  if (0 == $ret) {
    $ret = $a cmp $b;
  }
  return $ret;
}
sub wikibold {
  my $str = shift;
  return chr(39) x 3 . $str . chr(39) x 3 ;
}
for my $mime (sort sorter keys %mimetypes) {
  next if $mime =~ m/^\s*$/;
  if (exists $fromfile{$mime}) {
      $flag = "(*)";
  } else {
      $flag = "";
  }
  $link = "[[http://www.iana.org/assignments/media-types/$mime|$mime]]";
  if (exists $official{$mime}) {
    $link = wikibold($link);
  }
  print "|| $link$flag || ";
  for my $pkg (sort { $supported{$b} <=> $supported{$a} } keys %pkgs) {
    if ($mimetypes{$mime}{$pkg}) {
      print "  X ||";
    } else {
      print "    ||";
    }
  }
  print "\n";
}
'