Outils pour utilisateurs

Outils du site


tuto:creer_son_propre_blog:encodage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tuto:creer_son_propre_blog:encodage [2012-05-28 00:01] – créée mitsututo:creer_son_propre_blog:encodage [2013-02-19 20:28] (Version actuelle) – modification externe 127.0.0.1
Ligne 4: Ligne 4:
  
 Néanmoins: lorsqu'on veut proposer du streaming sans utiliser Flash ni aucun autre module propriétaire (type Silverlight, RealVideo, ...), la norme HTML 5 est déjà incontournable. Pour plus d'informations sur les formats utilisés en HTML 5 et leur intégration, voir mon précédent article sur le sujet :) Néanmoins: lorsqu'on veut proposer du streaming sans utiliser Flash ni aucun autre module propriétaire (type Silverlight, RealVideo, ...), la norme HTML 5 est déjà incontournable. Pour plus d'informations sur les formats utilisés en HTML 5 et leur intégration, voir mon précédent article sur le sujet :)
 +
 Petits rappels avant de commencer: Un WebM est toujours de type WEBM-VP8-VORBIS. Petits rappels avant de commencer: Un WebM est toujours de type WEBM-VP8-VORBIS.
  
-    WebM c'est le conteneur: il est dérivé du conteneur Matroska, connu pour sa grande flexibilité: c'est l'enveloppe permettant de "mélanger" correctement les flux audio, vidéo et sous-titres tout en gardant la chronologie et la synchronisation. (voir A Digital Media Primer for Geeks, chapitre "Containers"+  *  WebM c'est le conteneur: il est dérivé du conteneur Matroska, connu pour sa grande flexibilité: c'est l'enveloppe permettant de "mélanger" correctement les flux audio, vidéo et sous-titres tout en gardant la chronologie et la synchronisation. (voir A Digital Media Primer for Geeks, chapitre "Containers"
-    VP8 c'est le format du flux vidéo. Dernier né de On2 avant rachat par Google, VP8 comporte beaucoup des avantages de H.264 sur les formats antérieurs. Comme la plupart des formats vidéo actuels VP8 utilise une compression DCT des images: l'animation n'est pas crée à partir d'images fixes complètes, mais à partir de certaines images fixes et des images intermédiaires "différentielles" calculées à partir des images précédentes ou suivantes: le mécanisme d'inter-trames. +     
-    Vorbis c'est le format du flux audio. Pourfendeur du célèbre MPEG-1/2 Audio Layer 3 "MP3" et rival de AAC. Ce format est la référence en matière de formats multimédia libres pour la compression audio à pertes, tout particulièrement pour la musique.+  *  VP8 c'est le format du flux vidéo. Dernier né de On2 avant rachat par Google, VP8 comporte beaucoup des avantages de H.264 sur les formats antérieurs. Comme la plupart des formats vidéo actuels VP8 utilise une compression DCT des images: l'animation n'est pas crée à partir d'images fixes complètes, mais à partir de certaines images fixes et des images intermédiaires "différentielles" calculées à partir des images précédentes ou suivantes: le mécanisme d'inter-trames. 
 +     
 +  *  Vorbis c'est le format du flux audio. Pourfendeur du célèbre MPEG-1/2 Audio Layer 3 "MP3" et rival de AAC. Ce format est la référence en matière de formats multimédia libres pour la compression audio à pertes, tout particulièrement pour la musique.
  
 Pour lire les fichiers WebM, il y a de plus en plus de logiciels qui sont capables de faire le décodage. J'imagine que les logiciels les plus utiles pour ce format sont votre navigateur web (Firefox, Opera, Chrome-Chromium,..) et VideoLan VLC :) Pour lire les fichiers WebM, il y a de plus en plus de logiciels qui sont capables de faire le décodage. J'imagine que les logiciels les plus utiles pour ce format sont votre navigateur web (Firefox, Opera, Chrome-Chromium,..) et VideoLan VLC :)
 +
 C'est pour créer des fichiers WebM qu'on entre dans le vif du sujet: il n'existe encore que peu d'encodeurs, ils peuvent être lents et de mauvaise qualité. C'est pour créer des fichiers WebM qu'on entre dans le vif du sujet: il n'existe encore que peu d'encodeurs, ils peuvent être lents et de mauvaise qualité.
  
-    VLC permet d'encoder au format WebM, mais je le déconseille: encodage très lent et qualité médiocre, car débit fixe.+  *  VLC permet d'encoder au format WebM, mais je le déconseille: encodage très lent et qualité médiocre, car débit fixe.
  
 La meilleure solution à l'heure actuelle, c'est utiliser la librairie d'encodage officielle (libvpx) avec un très répandu et puissant encodeur: ffmpeg. La meilleure solution à l'heure actuelle, c'est utiliser la librairie d'encodage officielle (libvpx) avec un très répandu et puissant encodeur: ffmpeg.
-Firefogg+ 
 +**Firefogg**
  
 FFmpeg est un encodeur en ligne de commande -stop, ne vous enfuyez pas: il existe de très nombreuses interfaces pour régler les paramètres d'encodage de ffmpeg. Vous préférez ce qui est gratuit, mis à jour tout seul, léger, et même avec code source libre ? Bonne nouvelle: vous pouvez installer Firefogg dans votre navigateur Firefox :) Je recommande vivement à ceux qui ne sont pas experts en encodage vidéo. FFmpeg est un encodeur en ligne de commande -stop, ne vous enfuyez pas: il existe de très nombreuses interfaces pour régler les paramètres d'encodage de ffmpeg. Vous préférez ce qui est gratuit, mis à jour tout seul, léger, et même avec code source libre ? Bonne nouvelle: vous pouvez installer Firefogg dans votre navigateur Firefox :) Je recommande vivement à ceux qui ne sont pas experts en encodage vidéo.
 Une fois le module installé, rendez-vous sur la page de création de vidéo. Une fois le module installé, rendez-vous sur la page de création de vidéo.
  
-    cliquez sur le bouton "select file" et choisissez le fichier à encoder +cliquez sur le bouton "select file" et choisissez le fichier à encoder 
-    choisissez le format (WebM). Vous pouvez utiliser un preset si applicable à votre vidéo, ou sinon choisir custom + -   choisissez le format (WebM). Vous pouvez utiliser un preset si applicable à votre vidéo, ou sinon choisir custom 
-    si vous choisissez custom, de nombreuses options vous sont présentées, comme les dimensions, le nombre d'images par seconde, le débit, la qualité, .. + -   si vous choisissez custom, de nombreuses options vous sont présentées, comme les dimensions, le nombre d'images par seconde, le débit, la qualité, .. 
-    enfin, cliquez sur encode, choisissez l'emplacement d'enregistrement, et admirez le spectacle.+ -   enfin, cliquez sur encode, choisissez l'emplacement d'enregistrement, et admirez le spectacle.
  
 Dans ce processus, Firefogg passe à ffmpeg les paramètres qui vont bien et rapporte à l'utilisateur l'avancement de l'encodage (pourcentage et temps restant). La vidéo est bel et bien encodée avec votre processeur, et le résultat reste bien sur votre ordinateur. Ce n'est pas un service d'encodage en ligne. Dans ce processus, Firefogg passe à ffmpeg les paramètres qui vont bien et rapporte à l'utilisateur l'avancement de l'encodage (pourcentage et temps restant). La vidéo est bel et bien encodée avec votre processeur, et le résultat reste bien sur votre ordinateur. Ce n'est pas un service d'encodage en ligne.
 +
 Astuce: allez dans votre profil Firefox (local settings\application data ou appdata\roaming selon votre version de Windows, ou simplement ~/.mozilla pour GNU/Linux et MacOS), dossier extensions/firefogg@firefogg.org/bin. Là dedans vous pouvez retrouver le fameux exécutable binaire de ffmpeg ;) Vous pouvez également voir la ligne de commande passée à ffmpeg dans le gestionnaire des tâches. Astuce: allez dans votre profil Firefox (local settings\application data ou appdata\roaming selon votre version de Windows, ou simplement ~/.mozilla pour GNU/Linux et MacOS), dossier extensions/firefogg@firefogg.org/bin. Là dedans vous pouvez retrouver le fameux exécutable binaire de ffmpeg ;) Vous pouvez également voir la ligne de commande passée à ffmpeg dans le gestionnaire des tâches.
-GNU/Linux: compiler ffmpeg+ 
 +**GNU/Linux: compiler ffmpeg**
  
 Puisque je suis d'un naturel paresseux, je me suis fait un script bash pour utiliser ce qu'il y a de plus récent pour mon Linux Mint Debian :) Les utilisateurs d'une distribution non dérivée de Debian/Ubuntu sauront adapter les commandes. Aussi: évitez d'utiliser l'option make -j 9 si vous ne possédez pas un processeur à 6 coeurs :mrgreen: -j 5 conviendra la plupart du temps. (c'est le nombre de tâches de compilation simultanées). Puisque je suis d'un naturel paresseux, je me suis fait un script bash pour utiliser ce qu'il y a de plus récent pour mon Linux Mint Debian :) Les utilisateurs d'une distribution non dérivée de Debian/Ubuntu sauront adapter les commandes. Aussi: évitez d'utiliser l'option make -j 9 si vous ne possédez pas un processeur à 6 coeurs :mrgreen: -j 5 conviendra la plupart du temps. (c'est le nombre de tâches de compilation simultanées).
  
 Ce script nettoie les compilations précédentes, met à jour les outils de développement, récupère et compile libmp3lame, clone les projets x264, libvpx et ffmpeg, récupère mkclean, et compile le tout. En 5 minutes c'est torché :) Ce script nettoie les compilations précédentes, met à jour les outils de développement, récupère et compile libmp3lame, clone les projets x264, libvpx et ffmpeg, récupère mkclean, et compile le tout. En 5 minutes c'est torché :)
 +<file bash enco.run>
 #!/bin/bash #!/bin/bash
 sudo apt-get update sudo apt-get update
Ligne 79: Ligne 87:
 ./configure ./configure
 make -j 9 -C mkclean make -j 9 -C mkclean
-sudo checkinstall --backup=no --default Le ffmpeg obtenu est très gros du coup: il contient plein de librairies. +sudo checkinstall --backup=no --default 
-L'encodage avec ffmpeg+</file> 
 + Le ffmpeg obtenu est très gros du coup: il contient plein de librairies.
  
-    Méthode standard:+**L'encodage avec ffmpeg**
  
-ffmpeg -i "video" "video.webm"+  *  Méthode standard:
  
-    Profil ancien de Fansub Streaming: encodage à partir des fichiers d'archive:+<file bash>ffmpeg -i "video" "video.webm"</file>
  
-ffmpeg -i "video" -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "video.webm"+  *  Profil ancien de Fansub Streaming: encodage à partir des fichiers d'archive:
  
-    Profil LD ancien de Fansub Streaming: encodage à partir des fichiers originaux (avec redimensionnement, tout le dossier):+<file bash>ffmpeg -i "video" -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "video.webm"</file>
  
 +   Profil LD ancien de Fansub Streaming: encodage à partir des fichiers originaux (avec redimensionnement, tout le dossier):
 +
 +<file bash encoLD.run>
 #!/bin/bash #!/bin/bash
 redimensionner() { redimensionner() {
Ligne 104: Ligne 116:
 ffmpeg -i "$file" $dim -sws_flags lanczos -ac 2 -ar 48000 -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "${file%.???}.webm" ffmpeg -i "$file" $dim -sws_flags lanczos -ac 2 -ar 48000 -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "${file%.???}.webm"
 done done
 +</file>
  
-    Profil HD version 1 de Fansub Streaming à partir du fichier original (HD 720p) avec optimisation mkclean, tout le dossier: +   Profil HD version 1 de Fansub Streaming à partir du fichier original (HD 720p) avec optimisation mkclean, tout le dossier: 
 +<file bash profileHD1.run>
 #!/bin/bash #!/bin/bash
 for file in *; do for file in *; do
Ligne 114: Ligne 127:
 mv "${file%.???}c.webm" "${file%.???}.webm" mv "${file%.???}c.webm" "${file%.???}.webm"
 done done
- +</file> 
-    Profil HD version 2 de Fansub Streaming pour AMV à partir du fichier original (HD 720p), 2 passes qualité haute avec optimisation mkclean, tout le dossier: +  *  Profil HD version 2 de Fansub Streaming pour AMV à partir du fichier original (HD 720p), 2 passes qualité haute avec optimisation mkclean, tout le dossier: 
 +<file bash profileHD2.run>
 #!/bin/bash #!/bin/bash
 for file in *; do for file in *; do
Ligne 126: Ligne 139:
 mv "${file%.???}c.webm" "${file%.???}.webm" mv "${file%.???}c.webm" "${file%.???}.webm"
 done (les séries sont encodées avec le profil HD v2, mais avec -vb 800k) done (les séries sont encodées avec le profil HD v2, mais avec -vb 800k)
- +</file> 
-    Profil HD version 3 de Fansub Streaming +  *  Profil HD version 3 de Fansub Streaming 
 +<file bash profileHD3.run>
 #!/bin/bash #!/bin/bash
 for file in *; do for file in *; do
Ligne 135: Ligne 148:
 rm "${file%.???}.webm" rm "${file%.???}.webm"
 mv "${file%.???}c.webm" "${file%.???}.webm" mv "${file%.???}c.webm" "${file%.???}.webm"
-done Inspirez-vous des paramètres pour déterminer ce qui correspond le mieux à vos besoins :) Testez, testez, testez. Jouez avec la variable "-vb" , essayez avec -quality good, comparez les temps d'encodage,.. +done  
-D'autres encodeurs+</file> 
 +Inspirez-vous des paramètres pour déterminer ce qui correspond le mieux à vos besoins :) Testez, testez, testez. Jouez avec la variable "-vb" , essayez avec -quality good, comparez les temps d'encodage,.. 
 + 
 +**D'autres encodeurs**
  
 Il existe pas mal d'encodeurs ou d'interfaces pour encodeur, capables de faire des fichiers WebM (Miro, Arista, ..). Ou sinon il y a une autre méthode: utiliser un service d'encodage en ligne (encoding.com, zencoder,..) ou carrément un portail vidéo pour récupérer la vidéo ensuite (Youtube). Mais je préviens: niveau qualitatif, c'est pas top :) Il existe pas mal d'encodeurs ou d'interfaces pour encodeur, capables de faire des fichiers WebM (Miro, Arista, ..). Ou sinon il y a une autre méthode: utiliser un service d'encodage en ligne (encoding.com, zencoder,..) ou carrément un portail vidéo pour récupérer la vidéo ensuite (Youtube). Mais je préviens: niveau qualitatif, c'est pas top :)
tuto/creer_son_propre_blog/encodage.1338163312.txt.gz · Dernière modification : 2013-02-19 20:28 (modification externe)