FOURCC

Comme promis dans un de mes premier article voici la liste des codecs et les FOURCC OpenCV associé pour générer vos propre vidéo dans des formats obscures, si vous le souhaitez. A savoir qu'il existe des FOURCC synonymes qui désignent le même codec (mais parfois pas la même version de ce codec !). La liste est longue, très longue même. Le pire dans cette liste c'est qu'elle est incomplète, il manque par exemple le VP8 ! . Une liste de TOUS les FOURCC se trouvent sur le site d'un organisme qui a l'air de les regrouper, je ne sais pas si c'est officiel (mais ça en a l'air): http://www.fourcc.org/codecs.php. Le site donne une description pour chaque FOURCC. Il y a plein de formats obscures dont je n'ai jamais entendu parlé...

J'ai mis les FOURCC, actuellement supporté par OpenCV, dans un format qui va bien pour faciliter le copier/coller dans votre code :

H264
('H', '2', '6', '4')
('h', '2', '6', '4')
('X', '2', '6', '4')
('x', '2', '6', '4')
('a', 'v', 'c', '1')
('V', 'S', 'S', 'H')
H263
('H', '2', '6', '3')
H263P
('H', '2', '6', '3')
('U', '2', '6', '3')
('v', 'i', 'v', '1')
H263I
('I', '2', '6', '3')
H261
('H', '2', '6', '1')
MPEG4
('F', 'M', 'P', '4')
('D', 'I', 'V', 'X')
('D', 'X', '5', '0')
('X', 'V', 'I', 'D')
('M', 'P', '4', 'S')
('M', '4', 'S', '2')
(0x04, 0, 0, 0) apparement certaine vielle vidéo utilise ce tag-ci
('D', 'I', 'V', '1')
('B', 'L', 'Z', '0')
('m', 'p', '4', 'v')
('U', 'M', 'P', '4')
('W', 'V', '1', 'F')
('S', 'E', 'D', 'G')
('R', 'M', 'P', '4')
MSMPEG4V3
('D', 'I', 'V', '3') tag par défaut pour utiliser MSMPEG4
('M', 'P', '4', '3')
('M', 'P', 'G', '3')
('D', 'I', 'V', '5')
('D', 'I', 'V', '6')
('D', 'I', 'V', '4')
('A', 'P', '4', '1')
('C', 'O', 'L', '1')
('C', 'O', 'L', '0')
MSMPEG4V2
('M', 'P', '4', '2')
('D', 'I', 'V', '2')
MSMPEG4V1
('M', 'P', 'G', '4')
WMV1
('W', 'M', 'V', '1')
WMV2
('W', 'M', 'V', '2')
DVVIDEO
('d', 'v', 's', 'd')
('d', 'v', 'h', 'd')
('d', 'v', 's', 'l')
('d', 'v', '2', '5')
MPEG1VIDEO
('m', 'p', 'g', '1')
('m', 'p', 'g', '2')
('m', 'p', 'g', '2')
('M', 'P', 'E', 'G')
MPEG1VIDEO
('P', 'I', 'M', '1')
('V', 'C', 'R', '2')
0x10000001
0x10000002
('D', 'V', 'R', ' ')
('M', 'M', 'E', 'S')
MJPEG
('M', 'J', 'P', 'G')
('L', 'J', 'P', 'G')
('J', 'P', 'G', 'L') JPEG Pegasus sans perte
('j', 'p', 'e', 'g')
('I', 'J', 'P', 'G')
('A', 'V', 'R', 'n')
JPEGLS
('M', 'J', 'L', 'S') pour décoder des avi
LJPEG
('L', 'J', 'P', 'G')
HUFFYUV
('H', 'F', 'Y', 'U')
FFVHUFF
('F', 'F', 'V', 'H')
CYUV
('C', 'Y', 'U', 'V')
RAWVIDEO
0 dans le genre "raw" il se pose là
('I', '4', '2', '0')
('Y', 'U', 'Y', '2')
('Y', '4', '2', '2')
('Y', 'V', '1', '2')
('U', 'Y', 'V', 'Y')
('I', 'Y', 'U', 'V')
('Y', '8', '0', '0')
('H', 'D', 'Y', 'C')
INDEO3
('I', 'V', '3', '1')
('I', 'V', '3', '2')
VP3
('V', 'P', '3', '1')
('V', 'P', '3', '0')
ASV1
('A', 'S', 'V', '1')
ASV2
('A', 'S', 'V', '2')
VCR1
('V', 'C', 'R', '1')
FFV1
('F', 'F', 'V', '1')
XAN_WC4
('X', 'x', 'a', 'n')
MSRLE
('m', 'r', 'l', 'e')
(0x1, 0x0, 0x0, 0x0)
MSVIDEO1
('M', 'S', 'V', 'C')
('m', 's', 'v', 'c')
('C', 'R', 'A', 'M')
('c', 'r', 'a', 'm')
('W', 'H', 'A', 'M')
('w', 'h', 'a', 'm')
CINEPAK
('c', 'v', 'i', 'd')
TRUEMOTION1
('D', 'U', 'C', 'K')
MSZH
('M', 'S', 'Z', 'H')
ZLIB
('Z', 'L', 'I', 'B')
SNOW
('S', 'N', 'O', 'W')
4XM
('4', 'X', 'M', 'V')
FLV1
('F', 'L', 'V', '1')
SVQ1
('s', 'v', 'q', '1')
TSCC
('t', 's', 'c', 'c')
ULTI
('U', 'L', 'T', 'I')
VIXL
('V', 'I', 'X', 'L')
QPEG
('Q', 'P', 'E', 'G')
('Q', '1', '.', '0')
('Q', '1', '.', '1')
WMV3
('W', 'M', 'V', '3')
LOCO
('L', 'O', 'C', 'O')
THEORA
('t', 'h', 'e', 'o')
WNV1
('W', 'N', 'V', '1')
AASC
('A', 'A', 'S', 'C')
INDEO2
('R', 'T', '2', '1')
FRAPS
('F', 'P', 'S', '1')
TRUEMOTION2
('T', 'M', '2', '0')
FLASHSV
('F', 'S', 'V', '1')
VC1
('W', 'V', 'C', '1')
('W', 'M', 'V', 'A')
CSCD
('C', 'S', 'C', 'D')
ZMBV
('Z', 'M', 'B', 'V')
KMVC
('K', 'M', 'V', 'C')
VP5
('V', 'P', '5', '0')
VP6
('V', 'P', '6', '0')
('V', 'P', '6', '1')
('V', 'P', '6', '2')
VP6F
('V', 'P', '6', 'F')
JPEG2000
('M', 'J', '2', 'C')
VMNC
('V', 'M', 'n', 'c')
TARGA
('t', 'g', 'a', ' ') (déprécié ?)