Test de différents codecs videos
Cette
page, est datée du 19 mai 2007 et contient:
- des PKGBUILD pour archlinux afin de créer les packages utilisés,
- les options utilisées par FFMPEG pour obtenir ces vidéos ,
- des vidéos encodées avec FFMPEG,
- un tableau récapitulatif,
Les PKGBUILDs utilisés
Les codecs testés sont les suivants :
- theora dans sa version 1.0.alpha7 de juin 2006,
- dirac dans sa version 0.7 de mai 2007,
- xvid dans sa version 1.1.2 de novembre 2006,
- x264 dans sa version datée du 2 décembre 2006.
Il est à noter que VLC 0.8.6b ne peut pas lire les vidéos utilisant le codec dirac 0.7. En effet, aujourd'hui seul la version 0.6 du codec dirac peut être compilé dans VLC (cf. le trac du projet VLC dans la rubrique développeur). Ainsi il faut utiliser ffplay pour lire les vidéos encodés avec le codec Dirac 0.7.
Sinon, tous ces codecs sont pris en charge par le container matroska (extension mkv). Ce type de fichier est aussi bien lu par VLC que par ffplay.
Les PKGBUILDs utilisés
- Pour construire le package Dirac 0.7 sous Archlinux 0.8, il faut utiliser ce PKGBUILD (à renommer en PKGBUILD, puis faire un makepkg).Sinon il est possible de télécharger :
- Une fois dirac 0.7 installé, il faut installer FFMPEG compilé avec les bonnes options et le patch permettant d'activer le support du codec Dirac (à copier dans le même répertoire que le fichier PKGBUILD). Celles-ci se trouvent dans le PKGBUILD de la version 8950 ou dans la version courante. Le 17 mai 2007, la version courante était numérotée rev_9045 et le patch ajoutant le support de dirac 0.7 prévu pour la rev8950 fonctionne. Il est également possible de télécharger :
La ligne de commande permettant d'obtenir les vidéos de test
Voici la ligne de commande utilisée :
./ffmpeg -i Spider_Man_3_18726051_fa2_pod_xvid480.avi -an -vcodec [CODEC] -b [BITRATE] -qdiff 4 -qcomp 0.6 -i_qfactor 0.71 -idct auto -sc_threshold 40 -coder 1 -partitions +parti4x4+partp8x8 -g 250 -flags +loop -cmp +chroma -subcmp +chroma -mbcmp +chroma -ildctcmp +chroma -precmp +chroma -me_range 16 -subq 7 -directpred 2 -refs 5 -s 352x288 FILE_OUT_[CODEC]_[BITRATE].avi
Avec :
- [CODEC] appartenant à l'ensemble {h264, dirac, theora, xvid},
- [BITRATE] appartenant à l'ensemble {430k, 500k}.
Les vidéos résultant
Seule la vidéo en mkv contient la bande vidéo en dirac 430k (grosse erreur de la part de l'encodeur qui fait qu'en fait cette vidéos est plus proche du 500kb/s); et la bande son en vorbis -q25 (soit du 100kb/s pour l'audio). Pour multiplexer l'audio dans les autres vidéos, il suffit de l'extraire du mkv avec mkvextract du package mkvtoolnix. Ensuite on peut multiplexer le son et la vidéo avec mkvmerge.
Tableau récapitulatif
Voici quelques résultats sur mon centrino 1GHz, 512Mo de Ram.
Comparaison des différents codecs vidéos 17 mai 2007
| |
Dirac 0.7 |
Theora 1.0 alpha 7 |
xvid |
x264 |
| fps encodage |
5 |
35 |
70 |
10 |
| lecture |
ffplay only |
vlc |
vlc |
vlc |
| Occupation processeur à la lecture |
non testé |
non testé |
non testé |
non testé |
| Format lisible sur PalmOS (T|X) |
non |
non testé |
oui avec tcpmp ou coreplayer |
oui avec tcpmp ou coreplayer. Coreplayer est largement recommandé. Lecture des mkv possible. |
| Remarques |
standard non figé. Peut devenir incompatible avec la version suivante. |
stable |
stable |
stable |