Skip to content

Instantly share code, notes, and snippets.

@aaomidi
Last active June 15, 2025 05:12
Show Gist options
  • Save aaomidi/0a3b5c9bd563c9e012518b495410dc0e to your computer and use it in GitHub Desktop.
Save aaomidi/0a3b5c9bd563c9e012518b495410dc0e to your computer and use it in GitHub Desktop.
List of nearly all video file extensions
webm
mkv
flv
vob
ogv
ogg
rrc
gifv
mng
mov
avi
qt
wmv
yuv
rm
asf
amv
mp4
m4p
m4v
mpg
mp2
mpeg
mpe
mpv
m4v
svi
3gp
3g2
mxf
roq
nsv
flv
f4v
f4p
f4a
f4b
mod
@allanlaal
Copy link

in bash:

 for video_file in *.{webm,mkv,flv,vob,ogv,ogg,rrc,gifv,mng,mov,avi,qt,wmv,yuv,rm,asf,amv,mp4,m4p,m4v,mpg,mp2,mpeg,mpe,mpv,m4v,svi,3gp,3g2,mxf,roq,nsv,flv,f4v,f4p,f4a,f4b,mod}

@BillinTokyo
Copy link

You forgot one that I really needed:
.dv

@bit-9
Copy link

bit-9 commented May 3, 2025

Wildcard Post

I'm writing a program that interfaces with ffmpeg, and needed a list of video extensions to filter results in the file browser. There's no consolidated list of extensions, and ffmpeg doesn't really care what the file is called so long as it knows what to do with it. But(!) the documentation for demuxers sometimes include "common extensions". Of the 305 demuxers in (my install of) ffmpeg, 51 extensions have been identified as video/animation related:

3g2
3gp
apng
avc
avi
avs
avs2
c2
cdxl
cgi
cif
dif
dv
f4v
flv
gif
h261
h263
h264
h265
h26l
hevc
idf
ism
isma
ismv
j2k
m4a
m4b
m4v
mj2
mjpeg
mjpg
mk3d
mka
mks
mkv
mov
mp4
mpo
mvi
obu
ogg
psp
qcif
rgb
v210
vc1
xl
yuv
yuv10

Notes:

  1. I omitted "piped" remuxers, which stitch together images into animations.
  2. Animation-only extensions (apng, gif, ect.) are still included because they are relevant to my case. They may not be relevant to yours.
  3. Not all extensions already mentioned are in this list (mod, f4p, ect.)
  4. You may see other obvious omissions. This is because anything that didn't have "common extensions" got overlooked by the script I used to compile this list.

To compile your own list:

This is a two-step process.
First, you query ffmpeg for all demuxers with:

ffmpeg -v 1 -demuxers

Second, consolidate a list of the demuxers you actually care about. Then take every last one of those demuxers you've decided are relevant and query:

ffmpeg -v 1 -h demuxer=DEMUXER_NAME_HERE

If you're lucky, this will include "common extensions" for that demuxer.

Notes:

  1. There's no mention of extensions in the docs for decoders.
  2. Remember that "file formats" and "file extensions" are two different things; we're only interested in the "file extensions" here.
  3. The fist query will include audio, image, and subtitle demuxers. I don't know of any way to automate filtering the list to video/animation-only ones.

Example Outputs:

C:\>ffmpeg -v 1 -demuxers
File formats:
    D. = Demuxing supported
    .E = Muxing supported
    --
    D  3dostr          3DO STR
    D  4xm             4X Technologies
    D  aa              Audible AA format files
    D  aac             raw ADTS AAC (Advanced Audio Coding)
    D  ac3             raw AC-3
. . .
C:\>ffmpeg -v 1 -h demuxer=matroska
Demuxer matroska,webm [Matroska / WebM]:
    Common extensions: mkv,mk3d,mka,mks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment