Les notes de Clément

Spécialiste de rien // Partageur de tout
Billets avec le mot-clé videos

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

Courts métrages de science-fiction

Petite session Science-fiction avec trois courts métrages qui valent le détour. Et pour aller plus loin, si ce type d’anticipation et de réflexion sur le trans-humanisme vous intéresse, il y a eu un excellent Thema d’ARTE en Octobre 2012 là-dessus :

Plurality

Sight

Tears of Steel