webm-logoAujourd’hui, si veut publier une vidéo sur Internet qui soit lisible sur quasiment toutes les plateformes nativement, il peut être très intéressant d’utiliser le format WebM (proposé pour HTML5).

WebM est un format multimédia ouvert basé sur un conteneur dérivé de Matroska, qui regroupe des flux vidéos encodés en VP8 et des flux audios encodés en Vorbis1. Ce format fait partie des formats vidéos proposés pour la balise video de HTML5.

Après avoir encodé nos vidéos H.264 (MP4) avec qt-faststart pour la lecture progressive, nous allons désormais proposer deux formats de vidéo lorsque nous intégrerons nos propres vidéos : le MP4 (format propriétaire) et le WebM (format libéré) pour un accès universel sur toutes les plateformes.

Encoder une seule vidéo MP4 en WebM

Il suffit d’utiliser avconv comme ceci :

avconv -i example.mp4 example.webm

ce qui nous donne comme résultat :

avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:02:36 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'example.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2013-09-24 10:52:45
  Duration: 00:43:27.39, start: 0.000000, bitrate: 294 kb/s
    Stream #0.0(eng): Video: h264 (Main), yuv420p, 320x240, 217 kb/s, 14.97 fps, 14.97 tbr, 2500 tbn, 5k tbc
    Metadata:
      creation_time   : 2013-09-24 11:23:01
    Stream #0.1(eng): Audio: aac, 32000 Hz, stereo, s16, 73 kb/s
    Metadata:
      creation_time   : 2013-09-24 11:23:01
[buffer @ 0x183ec80] w:320 h:240 pixfmt:yuv420p
[libvpx @ 0x183a4c0] v1.0.0
Output #0, webm, to 'example.webm':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2013-09-24 10:52:45
    encoder         : Lavf53.21.1
    Stream #0.0(eng): Video: libvpx, yuv420p, 320x240, q=-1--1, 200 kb/s, 1k tbn, 14.97 tbc
    Metadata:
      creation_time   : 2013-09-24 11:23:01
    Stream #0.1(eng): Audio: libvorbis, 32000 Hz, stereo, s16
    Metadata:
      creation_time   : 2013-09-24 11:23:01
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press ctrl-c to stop encoding
frame=39032 fps= 39 q=0.0 Lsize=   86385kB time=2607.34 bitrate= 271.4kbits/s    
video:63500kB audio:21841kB global headers:4kB muxing overhead 1.217530%

Cela prend un peu de temps suivant la taille du fichier mais c’est assez simple.

A lire :  MySQL : résoudre l'erreur "mysql_connect(): Headers and client library minor version mismatch"

Encoder toutes les vidéos d’un dossier en Webm

Allez, plus efficace : voyons maintenant comment nous pouvons traiter tout un lot de fichiers. Nous allons encoder tous les fichiers MP4 d’un dossier pour faire des fichiers WebM.

Tout d’abord, on exporte la liste des fichiers à traiter dans un fichier nommé list :

ls -1 *.mp4 | sed -e 's:\.[^./]*$::' > list

La commande sed nous permet ici de récupérer la liste des fichiers tout en omettant l’extension des fichiers.

Ensuite, on lance une boucle qui convertit chaque fichier au format WebM :

for i in `cat list`; do avconv -i "$i".mp4 "$i".webm ; done

Et voilà! Simple et efficace.

Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée.

Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ou ajouter de nouvelles fonctionnalités? Ou améliorer les performances de votre site?

Parlons de votre projet »

Articles en rapport:

Écrire un commentaire

Spelling error report

The following text will be sent to our editors: