Les notes de Clément

Spécialiste de rien // Partageur de tout

Capture vidéo, compression et filigrane sous Unix

 Si vous souhaitez faire une capture vidéo de votre écran sous Unix, la commande avconv (anciennement ffmpeg) devrait probablement vous suffire. J’ai eu besoin de faire ça, et voilà comment que je me suis débrouillé.

Capture

Pour faire la capture vidéo de l’écran :

avconv -f x11grab -show_region 1 -framerate 24 -s sxga -i :0.0+350,0 -threads 2 -q 1 -bt 8000000 -b 8500000 video.avi

Les options utilisées sont les suivantes :

  • -f x11grab : pour dire que l’on capture l’écran (le serveur X)
  • -show_region 1 : pour afficher un rectangle autour de la zone de l’écran capturée
  • -framerate 24 : on capture 24 images par secondes
  • -s sxga : la zone capturée fait 1280×1024
  • -i :0.0+350,0 : le décalage (300 pixels en horizontal et 0 en vertical)
  • -threads 2 : le nombre de coeurs de votre processeur utilisés
  • -q 1 : meilleure qualité (pas de compression, ça on verra après)
  • -bt 8000000 -b 8500000 : le débit (« bitrate ») et sa tolérance, pour permettre une bonne qualité

Compression

Ensuite, pour compresser la jolie vidéo, il faut modifier l’argument q :

avconv -i video.avi -q 12 video_smaller.avi

Watermark

Pour ajouter un filigrane (« watermark ») sur la vidéo, il suffit d’une image. Prenez par exemple le logo de votre entreprise, et rendez le un peu plus discret à l’aide du Gimp par exemple, avec les deux transformations suivantes :

  • Couleurs > Niveaux > Niveaux de sortie : augmenter le seuil du bas
  • Couleurs > Couleur vers alpha…

Si cette image est image.png et dans le même dossier que vos vidéos, pour l’ajouter en sur-impression à la vidéo :

avconv -i video.avi -vf "movie=image.png [watermark]; [in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 [out]" -q 12 video_watermark.avi

J’ai gardé l’argument -q 12 pour compresser la vidéo en même temps, et j’ai ajouté l’argument -vf, qui est assez compliqué… Si j’ai bien compris, la partie movie=image.png [watermark]; définie un calque à ajouter et le nomme watermark, puis la seconde partie [in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 [out] permet d’ajouter ce calcque. Le overlay permet de positionner l’image, et les nom main_w, main_h, overlay_w et overlay_h correspondent respectivment aux largeurs et hauteurs de la vidéo et de l’image. Si vous avez suivi, notre filigrane sera donc centrée !  Mais si vous voulez par exemple la positionner en haut à gauche, il faut utiliser overlay=0:0

Démo !

Je fais à la fois la capture, le filigrane et la compression. La commande exacte est la suivante :

avconv -f x11grab -show_region 1 -framerate 24 -s 1280x900 -i :0.0+0,105 -vf "movie=me.png [watermark]; [in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 [out]" -threads 2 -q 12 -bt 8000000 -b 8500000 demo_blog.flv

Ok, ça fait un peu narcissique de se mettre en filigrane mais c'est la première image que j'avais sous la main !

Sources

Un commentaire.

  1. Johne234 a dit :

    Your goal is to breed all the different dragons available debaccgedddd

Laisser un commentaire

Your email address will not be published. Required fields are marked *

*