[Toulibre] ffmpeg

Sylvain l2018.sylvain at marliere.org
Mar 24 Nov 10:49:04 CET 2020


Salut,

Voici mes notes concernant ffmpeg, généralement je pioche là-dedans pour 
faire mes conversions, selon besoin.

# Convertir depuis stdin :
-i pipe:0
# Convertir depuis un fichier :
-i in.m2ts
# Convertir en AVI 3kbps :
-c:v libxvid -b:v 3000k out.avi
# Convertir en MP4 1kbps :
-c:v libx264 -b:v 1000k out.mp4
# Convertir l'audio en 96kbps :
-c:a libmp3lame -b:a 96k
# Select time from 01:00 to 01:30 (01:00+00:30)
-ss 00:01:00 -t 00:00:30
# Supprimer le Son
-an
# Conserver le format Son original
-c:a copy
# Redimensionner l'image à 320x240 et tourner de 3*90 degrés
-vf scale=320:240
# Faire une rotation de l'image de 3*90 degrés
-vf transpose=3
# Redimensionner l'image à la largeur 720 (et la hauteur selon le même 
ratio)
-vf scale=720:-1
# Sélectionner seulement le premier flux pour la vidéo et le troisième 
flux pour l'audio
-map v:0 -map a:2
(Utiliser ffprobe pour afficher la liste des flux audio/vidéo présents 
dans le fichier)
# Concaténater des fichiers
ffmpeg -i concat:"in1.avi|in2.avi" -c copy out.avi
# Concaténater des fichiers listés dans un fichier txt (lignes au 
format: file '/chemin/du/fichier1')
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

Si tu n'as à faire cela qu'une seule fois, je te conseille de passer par 
des fichiers intermédiaires en vérifiant les résultats pas à pas : 
d'abord le redimensionnement, ensuite la découpe si besoin, puis la 
conversion de format éventuelle, et enfin la concaténation.
Si tu veux les scripter en cascade, tu peux utiliser des pipes avec 
l'option -i pipe:0.

-Sylvain



Plus d'informations sur la liste de diffusion Toulouse-ll