patrick_g a dit que le projet a déjà été utilisé pour encoder quelque chose. Mais, dans le dépôt, il n'y a aucun exemple concret. Le dossier "examples" contient... du code. Regardons les fichiers du dépôt. Le "README" se résume à "allez sur notre site". Là déjà, on voit comment faire un projet mal documenté. Bon, de quoi j'ai besoin pour compiler ? Allez il y a un fichier autogen.sh, je tente inch'allah.
autoconf ;
libtool ;
"ogg" : pour Ubuntu c'est libogg-dev ;
"sdl" : pour Ubuntu c'est libsdl1.2-dev ;
"theoradec" : apt-cache search theoradec ne donne rien, pour Ubuntu c'est libtheora-dev ;
"check" : apt-cache search check donne une liste immense, pour finalement voir dans la liste "check: structure de test unitaire pour le langage C", oké va pour check, mais pourquoi avoir besoin de faire marcher des tests unitaires si je veux juste faire marcher les exemples...
Entre guillemet, c'est quand le configure généré me dit "j'ai pas trouvé ça" et qu'il faut trouver soi-même le paquet qui va bien.
Voilà, une jolie liste, on peut trouver tout seul mais ça aurait été bien de le préciser. J'ai pas trouvé sur le site et le wiki de Xiph.
Les étapes à faire sous Linux (testé sur Ubuntu 13.04) sont donc :
installer plein de trucs (vous pouvez aussi le faire en mode aventurier comme moi et trouver tout ce qu'il manque la fleur au fusil)
$ ./autogen.sh
$ ./configure
$ make tools
???
Non, ce n'est pas une blague. Je ne sais pas ce qu'il faut faire ensuite. La documentation est générée automatiquement et rien d'autre (c'est si agréable).
Le dossier tools contient des exécutables. Je les tente quand même un par un, des fois qu'en forçant un programme à me donner son aide je sache à quoi il sert. Ben non.
Ah, tiens, il y a un dossier "unix", avec un makefile dedans ! Je continue donc les opérations à faire :
$ cd unix
$ make
$ ./encoder_example
No video files submitted for compression.
Oké, je donne quoi en entrée alors ?
Allez, c'est un projet Xiph, ça va peut-être demander un fichier ogg en entrée ? Je teste un .ogg :
Input file 'jean_nez_marre.ogg' is not a YUV4MPEG2 file.
No video files submitted for compression.
Et voilà ! Ce n'était pas mentionné non plus ! Heureusement, un autre wiki nous dit que grosso modo les fichiers YUV4MPEG2, d'extension y4m, sont des fichiers tests pour le développement de codecs vidéo, et qui ont été créés à l'époque de mpeg2 (grosso modo), ledit wiki nous propose un endroit pour télécharger les fichiers en question.
(j'aime pas utiliser tar, donc clic droit -> extraire ici. Merci Nautilus et le monteur d'archives de Gnome.)
On obtient un fichier example.y4m de 8,5 Mo.
$ ./encoder_example example.y4m
Noon, malheureux ! La vidéo produite est balancée sur la sortie standard ! Il faut plutôt taper :
$ ./encoder_example example.y4m > truc.daala
On obtient donc un fichier daala de 1,1 Mo, produit en à peu près 9 secondes, que Nautilus identifie comme un fichier Ogg, alors qu'il n'y a aucun son. Oké.
$ ./player_example truc.daala
Et pof de la vidéo.
Bon, et maintenant, comment comparer avec autre chose ? Par exemple, comment convertir ce fichier y4m en fichier vidéo utilisant h264 par exemple ? J'ai trouvé y4m to avi avec ffmpeg, essayons donc.
truc.avi fait 230,1 ko en à peu près moins d'une seconde.
J'ai pris vite fait une image :
comparaison screenshot
À gauche "Vidéos" (Totem) lit le fichier avi, à droite le lecteur d'exemple lit le fichier daala.
Je n'ai qu'un exemple, et je vous montre seulement une image sur le coup (c'est déjà bien vu ce que le site et le wiki nous laissent), mais le rendu m'a l'air identique.
Donc, qu'en est-il pour l'instant ? L'encodage Daala est plus lent que l'encodage h264, et le fichier produit est 4 fois plus lourd. Les slides disent que l'algorithme de Daala est censé être plus rapide que la technique de h264.
Est-ce suffisant pour conclure ? Non.
Je n'ai eu qu'un fichier d'exemple.
On compare un algorithme de compression optimisé (libx264 avec ffmpeg) et un algorithme en cours de développement pas optimisé.
Ce projet essaie un nouvel algorithme, ou plutôt une nouvelle catégorie d'algorithmes. Les auteurs ne disent pas encore avoir trouvé la formule miracle.
Il y a tellement d'informations manquantes pour faire tourner un exemple, on dirait que le but est d'éviter qu'on regarde trop en détail.
En attendant, appelons un chat un chat : Daala est un projet de recherche de codec vidéo, et non pas le codec du futur. C'est aussi un projet mal documenté, comme VP8, donc attendons qu'ils fassent une bonne doc avant de spéculer sur le (in)succès de ce codec.
Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/
# Faire tourner le projet
Posté par Zarmakuizz . En réponse à la dépêche Daala, le codec vidéo du futur, par Xiph. Évalué à 10.
patrick_g a dit que le projet a déjà été utilisé pour encoder quelque chose. Mais, dans le dépôt, il n'y a aucun exemple concret. Le dossier "examples" contient... du code. Regardons les fichiers du dépôt. Le "README" se résume à "allez sur notre site". Là déjà, on voit comment faire un projet mal documenté. Bon, de quoi j'ai besoin pour compiler ? Allez il y a un fichier autogen.sh, je tente inch'allah.
Entre guillemet, c'est quand le configure généré me dit "j'ai pas trouvé ça" et qu'il faut trouver soi-même le paquet qui va bien.
Voilà, une jolie liste, on peut trouver tout seul mais ça aurait été bien de le préciser. J'ai pas trouvé sur le site et le wiki de Xiph.
Les étapes à faire sous Linux (testé sur Ubuntu 13.04) sont donc :
Non, ce n'est pas une blague. Je ne sais pas ce qu'il faut faire ensuite. La documentation est générée automatiquement et rien d'autre (c'est si agréable).
Le dossier tools contient des exécutables. Je les tente quand même un par un, des fois qu'en forçant un programme à me donner son aide je sache à quoi il sert. Ben non.
Ah, tiens, il y a un dossier "unix", avec un makefile dedans ! Je continue donc les opérations à faire :
Oké, je donne quoi en entrée alors ?
Allez, c'est un projet Xiph, ça va peut-être demander un fichier ogg en entrée ? Je teste un .ogg :
Et voilà ! Ce n'était pas mentionné non plus ! Heureusement, un autre wiki nous dit que grosso modo les fichiers YUV4MPEG2, d'extension y4m, sont des fichiers tests pour le développement de codecs vidéo, et qui ont été créés à l'époque de mpeg2 (grosso modo), ledit wiki nous propose un endroit pour télécharger les fichiers en question.
On obtient un fichier example.y4m de 8,5 Mo.
Noon, malheureux ! La vidéo produite est balancée sur la sortie standard ! Il faut plutôt taper :
On obtient donc un fichier daala de 1,1 Mo, produit en à peu près 9 secondes, que Nautilus identifie comme un fichier Ogg, alors qu'il n'y a aucun son. Oké.
Et pof de la vidéo.
Bon, et maintenant, comment comparer avec autre chose ? Par exemple, comment convertir ce fichier y4m en fichier vidéo utilisant h264 par exemple ? J'ai trouvé y4m to avi avec ffmpeg, essayons donc.
truc.avi fait 230,1 ko en à peu près moins d'une seconde.
J'ai pris vite fait une image :
comparaison screenshot
À gauche "Vidéos" (Totem) lit le fichier avi, à droite le lecteur d'exemple lit le fichier daala.
Je n'ai qu'un exemple, et je vous montre seulement une image sur le coup (c'est déjà bien vu ce que le site et le wiki nous laissent), mais le rendu m'a l'air identique.
Donc, qu'en est-il pour l'instant ? L'encodage Daala est plus lent que l'encodage h264, et le fichier produit est 4 fois plus lourd. Les slides disent que l'algorithme de Daala est censé être plus rapide que la technique de h264.
Est-ce suffisant pour conclure ? Non.
En attendant, appelons un chat un chat : Daala est un projet de recherche de codec vidéo, et non pas le codec du futur. C'est aussi un projet mal documenté, comme VP8, donc attendons qu'ils fassent une bonne doc avant de spéculer sur le (in)succès de ce codec.
Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/