Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
webm [Le 29/07/2014, 11:05]
82.196.27.6 [Possibilités et limitations]
webm [Le 03/03/2023, 09:27] (Version actuelle)
L'Africain MAJ
Ligne 1: Ligne 1:
- {{tag>​webm ffmpeg ​BROUILLON}}+{{tag>Jammy webm ffmpeg}} 
 + 
 +---------- 
 ====== Les fichiers vidéos WebM ======= ====== Les fichiers vidéos WebM =======
  
-{{ http://​www.webmproject.org/​media/​images/​webm-558x156.png?​200&​nolink }}+{{ https://​www.webmproject.org/​media/​images/​webm-558x156.png?​200&​nolink }}
 ===== Qu'​est-ce que le WebM ? ===== ===== Qu'​est-ce que le WebM ? =====
  
 Le WebM est un format **multimédia ouvert** principalement destiné à être utilisé sur internet, mais une utilisation en local est tout à fait possible. Le WebM est un format **multimédia ouvert** principalement destiné à être utilisé sur internet, mais une utilisation en local est tout à fait possible.
-La base de ce conteneur est un dérivé de Matroska, il utilise un flux vidéo encodé en **VP8** et un ou plusieurs flux audios encodés en **Vorbis**, il peut également contenir des sous-titres. ​+La base de ce conteneur est un dérivé de Matroska, il utilise un flux vidéo encodé en **VP8** et un ou plusieurs flux audios encodés en **Vorbis**, il peut également contenir des sous-titres.
  
-Seul ces codec vidéo et audio sont supportés, et ceci pour garantir le support du format sur les navigateurs et les lecteurs vidéos.+Seuls ces codecs ​vidéo et audio sont supportés, et ceci pour garantir le support du format sur les navigateurs et les lecteurs vidéos. (Le flux vidéo peut aussi être encodé en **VP9**, successeur de **VP8**, mais ce codec n'est pas activé par défaut sur tous les navigateurs).
  
-**IMPORTANT** : le WebM n'est pas un format de compression ou un codec : une vidéo ne peut pas //être compressée en WebM//. On confond souvent la boîte (le conteneur, l'​extension) avec son contenu (qui est de la vidéo ou de l'​audio) géré par un codec.+<note tip>​Le ​WebM n'est pas un format de compression ou un codec : une vidéo ne peut pas //être compressée en WebM//. On confond souvent la boîte (le conteneur, l'​extension) avec son contenu (qui est de la vidéo ou de l'​audio) géré par un codec.</​note>​
  
  
 ===== Lecture des fichiers WebM ===== ===== Lecture des fichiers WebM =====
  
-==== Explications ==== 
  
-La lecture des fichiers WebM est possible par les lecteurs ​multimedia ​les plus courants (//**vlc, xine, gstreamer, mplayer ...**//), mais également par les navigateurs internet (//​**Firefox,​ Chromium, Opera...**//​) et sur les principaux systèmes d'​exploitations.+La lecture des fichiers WebM est possible par les lecteurs ​multimédia ​les plus courants (//**[[:vlc]], xine, gstreamer, ​[[:mplayer]] ...**//), mais également par les navigateurs internet (//**[[:Firefox]][[:Chromium]], Opera...**//​) et sur les principaux systèmes d'​exploitations.
  
 ==== Possibilités et limitations ==== ==== Possibilités et limitations ====
Ligne 23: Ligne 25:
 Pour le moment, le décodage de la vidéo se fait presque exclusivement de façon logicielle, ce qui implique d'​avoir un ordinateur suffisamment puissant pour lire les versions en haute définition de ce format. Pour le moment, le décodage de la vidéo se fait presque exclusivement de façon logicielle, ce qui implique d'​avoir un ordinateur suffisamment puissant pour lire les versions en haute définition de ce format.
  
-Depuis 2011 certains fabricants de composants électroniques permettent un décodage matériel de ce format. ​+Depuis 2011 certains fabricants de composants électroniques permettent un décodage matériel de ce format.
  
-Certains terminaux de poche Android permettent un décodage matériel.+Certains terminaux de poche [[:Android]] permettent un décodage matériel.
  
 ===== Création de fichiers WebM ===== ===== Création de fichiers WebM =====
-{{http://​www.webmproject.org/​media/​images/​applications-multimedia.png?​nolink }} +====Graphiquement==== 
-==== FFMPEG ==== +{{https://​www.webmproject.org/​media/​images/​applications-multimedia.png?​nolink }} 
-**ffmpeg** est un logiciel de lecture et encodage ​de vidéo ​très puissantPour avoir une qualité et une rapidité d'​encodage WebM excellente il vous faut disposer d'une __des dernières versions__ de ce logiciel.+La majorité des transcodeurs vidéos permettent ​de convertir graphiquement une vidéo ​au format WebMVous en trouverez ​une liste assez complète sur cette [[:​lecture_et_encodage_de_fichiers_videos#​divers_outils_d_encodage|page]].
  
-<note help>​**RAPPEL,​ Les exemples d'​instructions d'​encodage vidéo suivant nécessite au moins __la version 0.9__ de ffmpeg. Utilisez le PPA de la page [[FFmpeg#​depot_ppa_de_jon_severinsson]] pour mettre à jour.**</​note>​ +==== En ligne de commande ====
-===Convertir une vidéo en WebM (VP8+Vorbis) en deux passes===+
  
-**Deux passes ​vidéo du web (360p à 500kbit/​s) ​** +=== Avec FFMPEG === 
- +**[[:​ffmpeg]]** est un logiciel de lecture et encodage de vidéo très puissant. Pour avoir une qualité et une rapidité d'​encodage WebM excellente il vous faut disposer d'une __des dernières versions__ de ce logiciel. Voici quelques commandes utiles : 
-<​code>​ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 500k -r 25 -qmin 10 -qmax 42 -maxrate 800k -bufsize 1600k -threads 4 -vf scale=-1:​360 -an -pass 1 -f webm /dev/null+  * Pour convertir une vidéo en WebM (VP8+Vorbis) en deux passes ​(vidéo du web 360p à 500kbit/s)<​code>​ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 500k -r 25 -qmin 10 -qmax 42 -maxrate 800k -bufsize 1600k -threads 4 -vf scale=-1:​360 -an -pass 1 -f webm /dev/null
 ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 500k -r 25 -qmin 10 -qmax 42 -maxrate 800k -bufsize 1600k -threads 4 -vf scale=-1:​360 -codec:a libvorbis -b:a 128k -pass 2 -f webm sortie.webm</​code>​ ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 500k -r 25 -qmin 10 -qmax 42 -maxrate 800k -bufsize 1600k -threads 4 -vf scale=-1:​360 -codec:a libvorbis -b:a 128k -pass 2 -f webm sortie.webm</​code>​
-<note tip>La qualité de la vidéo est bien meilleur avec l'​utilisation d'une méthode d'​encodage en plusieurs passes, ce phénomène est encore plus marqué lors de l'​encodage de vidéo ayant un faible débit. Les dernières version de ffmpeg ont permis de gagner sur le temps d'​encodage.</​note>​ +  * Pour convertir ​une vidéo en WebM (VP8+Vorbis) en une  passe: 
- +    * Standard / vidéo du web (480p à 600kbit/s)<​code>​
-===Convertir ​une vidéo en WebM (VP8+Vorbis) en une  passe=== +
-**Standard / vidéo du web (480p à 600kbit/s)** +
- +
-<​code>​+
 ffmpeg ​ -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -maxrate 600k -bufsize 1200k -qmin 10 -qmax 42 -vf scale=-1:​480 -threads 4 -codec:a vorbis -b:a 128k sortie_480p.webm ffmpeg ​ -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -maxrate 600k -bufsize 1200k -qmin 10 -qmax 42 -vf scale=-1:​480 -threads 4 -codec:a vorbis -b:a 128k sortie_480p.webm
 </​code>​ </​code>​
- +    ​*Standard / vidéo PAL (576p à 1Mbit/s)<​code>​
-**Standard / vidéo PAL (576p à 1Mbit/s)** +
-<​code>​+
 ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 1000k -maxrate 1000k -bufsize 2000k -qmin 10 -qmax 42 -vf scale=-1:​576 -threads 4 -codec:a vorbis -b:a 128k sortie_576p.webm ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 1000k -maxrate 1000k -bufsize 2000k -qmin 10 -qmax 42 -vf scale=-1:​576 -threads 4 -codec:a vorbis -b:a 128k sortie_576p.webm
 </​code>​ </​code>​
- +    ​* Standard / vidéo HD ready (720p à 2Mbit/s)<​code>​
-**Standard / vidéo HD ready (720p à 2Mbit/s)** +
-<​code>​+
 ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 2000k -maxrate 2000k -bufsize 4000k -qmin 10 -qmax 42 -vf scale=-1:​720 -threads 4 -codec:a vorbis -b:a 128k sortie_720p.webm ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 2000k -maxrate 2000k -bufsize 4000k -qmin 10 -qmax 42 -vf scale=-1:​720 -threads 4 -codec:a vorbis -b:a 128k sortie_720p.webm
 </​code>​ </​code>​
- +    ​* Standard / vidéo FullHD (1080p à 4Mbit/s)<​code>​
-**Standard / vidéo FullHD (1080p à 4Mbit/s)** +
-<​code>​+
 ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 4000k -maxrate 4000k -bufsize 8000k -qmin 10 -qmax 42 -vf scale=-1:​1080 -threads 4 -codec:a vorbis -b:a 128k sortie_1080p.webm ffmpeg -i "​fichier source"​ -codec:v libvpx -quality good -cpu-used 0 -b:v 4000k -maxrate 4000k -bufsize 8000k -qmin 10 -qmax 42 -vf scale=-1:​1080 -threads 4 -codec:a vorbis -b:a 128k sortie_1080p.webm
 </​code>​ </​code>​
  
- +<note tip>​La ​qualité de la vidéo ​est bien meilleure avec l'utilisation ​d'une méthode ​d'encodage ​en plusieurs passes, ce phénomène ​est encore plus marqué lors de l'encodage ​de vidéo ayant un faible débitLes dernières version ​de ffmpeg ont permis de gagner ​sur le temps d'​encodage.</​note>​
-=== INFORMATIONS SUR LES PARAMÈTRES MODIFIABLES === +
- +
-  * **-i [fichier source]** – Nom et chemin du fichier +
-  * **-codec:​v** – indique l'​encodeur vidéo utilisé, pour nous c'est la librairie libvpx VP8 +
-  * **-quality good** – indique la qualité de l'​encodeur vidéo VP8. les choix disponibles sont **best** / **good** / **realtime**. (La choix "​best"​ apporte un gain de qualité insignifiant) +
-  * **-cpu-used [0-5]** – indique ​la vitesse de l'​encodeur ​vidéo ​VP8. (Une valeur faible indique une bonne qualité) +
-  * **-b:v [bitrate]** – indique le débit vidéo souhaité +
-  * **-r [25]** – indique à l'encodeur, le nombre ​d'image par seconde (fps) du fichier de sortie. (Pour passer de 50fps à 25 fps) +
-  * **-maxrate** – Indique la limite haute sur le flux vidéo à ne pas dépasser. +
-  * **-bufsize** – indique à l'​encodeur le niveau auquel il est possible ​d'aller de façon ponctuel ​en terme de débit en cas de besoin. de façon générale le double du maxrate ​est utiliser afin de tenir sur 2 secondes. +
-  * **-qmin 10 -qmax 42** – Minimum et maximum des valeurs de quantification.  +
-  * **-threads [num]** – indique le nombre de fil d'​exécution à utiliser. Indiquez le nombre de CPU disponibles. +
-  * **-vf scale=[width:​height]** – Changer de résolution. (La valeur “-1″ signifie “gardez le ratio”, exemple: “-1:​360″ produira un fichier de 360p) +
-  * **-codec:a libvorbis** – indique à l'encodeur libvorbis ​de produire ​un fichier audio vorbis. +
-  * **-b:a [bitrate]** – Débit du flux audio +
-  * **-f webm** – indique à FFmpeg le format ​de sortie (si l'​extension webm est présente ​sur le fichier de sortie, ce paramètre devient inutile) +
-  * **-pass [1|2]** – indique à FFmpeg de faire du multiple passes et indique quelle passe est à traiter +
-  * **-an** – désactive l'​encodage audio, pour gagner du temps au premier à la première passe d'​encodage+
  
 ==== Autres encodeurs ==== ==== Autres encodeurs ====
-D'​autre encodeurs permettent le transcodage au format Webm: +D'​autre encodeurs permettent le transcodage au format Webm, comme [[:Mplayer]] et [[:VLC]].
-===Mplayer=== +
-===VLC===+
  
  
-===== WebM en téléchargement ​progressive ​=====+===== WebM en téléchargement ​progressif ​=====
  
-<​note>​**Pour que votre fichier WebM soit utilisable de façon ​optimal ​et que les visiteurs de votre site web puissent avancer ou reculer dans la vidéo, vous avez besoin d'​apporter une dernière modification à votre fichier.** +Pour que votre fichier WebM soit utilisable de façon ​optimale ​et que les visiteurs de votre site web puissent avancer ou reculer dans la vidéo, vous avez besoin d'​apporter une dernière modification à votre fichier.\\
-</​note>​+
  
-===Explications=== +En effet lors de la création de votre fichier WebM, les informations techniques (MetaData: taille, ​longueur, résolution,​ fps, etc...) sont situées ​en fin de fichier. ​Celles-ci ne sont pas accessibles ​au navigateur web utilisé avant le téléchargement complet du fichier, celui-ci pouvant peser plusieurs centaines de Mo, la navigation et/ou le lancement de la vidéo peut dans certains ​cas ne pas avoir lieu
-Lors de la création de votre fichier WebM, les informations techniques (MetaData: taille, ​longueurs, résolution,​ fps, etc...) sont situé ​en fin de fichier. ​Celle-ci ne sont pas accessible ​au navigateur web utilisé avant le téléchargement complet du fichier, celui-ci pouvant peser plusieurs centaines de Mo, la navigation et/ou le lancement de la vidéo peut dans certain ​cas ne pas avoir lieu.+Pour résoudre cela il vous faut déplacer ces informations en début de fichier.
  
-===Solution=== +On peut faire une comparaison avec un fichier image, **jpg "​progressif"​**, sur les pages web de l'​internet,​ certaines images apparaissent d'un coup et certaines se chargent de façon progressive. Ces fichiers jpg ont leurs MetaData ​en début de fichier, cela permet au navigateur de les faire apparaître de façon progressive sur nos pages.
-**La solutionest de déplacer ces informations ​en début de fichier.**+
  
-On peut faire une comparaison avec un fichier image**jpg "​progressif"​**,​ sur les pages web de l'​internet,​ certaine image apparaisse d'une coup et certaine se charge de façon progressive. Ces fichiers jpg ont leurs MetaData en début de fichier, cela permet au navigateur de les faire apparaître de façon progressive sur nos pages.+ffmpeg ne permettant pas cette manipulation (pour le moment), il faut utiliser ​un logiciel supplémentairesoit mkclean en ligne de commande soit mkvtoolnix avec une interface graphique.
  
-ffmpeg ne permettant pas cette manipulation (pour le moment), il faut utiliser un logiciel supplémentaire.+====mkclean====
  
-==mkclean | Terminal==+Téléchargement ​mkclean ​sur [[https://​sourceforge.net/​projects/​matroska/​files/​mkclean/​|sourceforge.net]] et [[:​compilation|compilez-le]]. Puis lancez la commande: <​code>​mkclean --optimize --remux "​fichier_source.webm"​ "​fichier_sortie.webm"</​code>​
  
-Téléchargement mkclean sur **sourceforge.net** ​[[http://​sourceforge.net/​projects/​matroska/​files/​mkclean/​]]. //​compilation nécessaire//​ +====mkvtoolnix==== 
-<​code>​ +Les logiciels de la suite [[:mkvtoolnix]] permettent la manipulation de fichiers WebM, ainsi que le déplacement des informations MetaData.
-mkclean --optimize --remux "​fichier_source.webm"​ "​fichier_sortie.webm"​ +
-</​code>​+
  
-==mkvtoolnix | GUI == +===== Problème connu =====
-Les logiciels de la suite [[mkvtoolnix|mkvtoolnix]] permettent la manipulation de fichiers WebM, ainsi que le déplacement des informations MetaData.+
  
-===== WebM Trucs / Astuces ===== +==== Erreur Type MIME ==== 
- +Certains serveurs ​WEB ne disposent ​pas du MIME-type video/webm dans leur registre des media types. ​Si ces identifiants sont indisponibles ​sur le serveur utilisé, une erreur de chargement vidéo apparaîtra. ​Pour résoudre ce problème soit : 
-=== Erreur Type MIME === +  * Vous accédez ​au panneau ​de contrôle de votre hébergement et modifiez ​la partie mime-types en ajoutant video/webm dans le registre des médias, 
-Certain serveur ​WEB ne dispose ​pas du MIME-type video/webm dans leur registre des media types. ​Ci ces identifiants sont indisponible ​sur le serveur utilisé, une erreur de chargement vidéo apparaîtra. +  * Soit vous créez ​ou modifiez ​le fichier ​''​.htaccess'' ​situé à la racine de votre site internet et ajoutez ​cette ligne: 
- +<file html .htaccess>
-==solution 1== +
-Accéder ​au panel de contrôle de votre hébergement et modifier ​la partie mime-types en ajoutant video/webm dans le registre des médias. +
- +
-==solution 2 (PersoFree)== +
-Créer ​ou modifier ​le fichier .htaccess situé à la racine de votre site internet et ajouter ​cette ligne: +
-<code>+
 AddType video/webm .webm AddType video/webm .webm
-</code>+</file>
 Votre serveur supporte désormais le format WebM. Votre serveur supporte désormais le format WebM.
  
Ligne 134: Ligne 94:
  
   * ''​**(en)**''​ [[http://​ffmpeg.org/​| Site officiel ffmpeg]] ​   * ''​**(en)**''​ [[http://​ffmpeg.org/​| Site officiel ffmpeg]] ​
-  * ''​**(en)**''​ [[http://​www.webmproject.org/​| Site officiel Webm]]+  * ''​**(en)**''​ [[https://​www.webmproject.org/​| Site officiel Webm]]
   * ''​**(en)**''​ [[https://​github.com/​adexin-team/​refinerycms-videojs/​wiki/​Encoding-files-to-.webm-%28VP8%29-and-.mp4-%28h.264%29-using-ffmpeg| Article utilisant les fonctions de ffmpeg 0.9]]   * ''​**(en)**''​ [[https://​github.com/​adexin-team/​refinerycms-videojs/​wiki/​Encoding-files-to-.webm-%28VP8%29-and-.mp4-%28h.264%29-using-ffmpeg| Article utilisant les fonctions de ffmpeg 0.9]]
   * ''​**(fr)**''​ [[http://​tomtoom.free.fr/​films/?​p=64| Exemple / page d'un site avec WebM / lecteur html5]]   * ''​**(fr)**''​ [[http://​tomtoom.free.fr/​films/?​p=64| Exemple / page d'un site avec WebM / lecteur html5]]
  • webm.1406624700.txt.gz
  • Dernière modification: Le 29/07/2014, 11:05
  • par 82.196.27.6