ffmpeg -i fichier
ffmpeg -codecs
ffmpeg -encoders
ffmpeg -decoders
ffmpeg -formats
ffmpeg -muxers
ffmpeg -demuxers
Permet de changer de container ou de prendre qu'une partie de la vidéo sans passer par un réencodage.
Exemple copie de la vidéo input.mkv dans output.mkv en commençant à partir de 3 mn et pour une durée de 10 mn et 1/2 seconde.
ffmpeg -i input.mkv -c copy -ss 00:03:00 -t 00:10:00.5 output.mkv
ffmpeg -i input.mkv -vcodec copy -an output.mkv
ffmpeg -i input.mkv
ffmpeg -i input.mkv -map 0:0 -map 0:1 -map 0:2 -map 0:6 -map 0:7 -c copy output.mkv
ffmpeg -i input.mkv -vcodec hevc -acodec copy output.mkv
ffmpeg -i input.mkv -vcodec copy -acodec libmp3lame output.mkv
en précisant le bitrate :
ffmpeg -i input.mkv -vcodec hevc-acodec libmp3lame -b:a 64k output.mkv
A partir du répertoire VIDEO_TS lister les streams disponibles :
ffmpeg -i VTS_01_1.VOB
Noter les streams souhaités (stream vidéo 0:1 et stream audio 0:2 par exemple).
A partir du répertoire VIDEO_TS récupérer les streams souhaités de tous les fichiers VTS_xx_y.VOB :
ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|....|VTS_xx_y.VOB" -map 0:1 -map 0:2 -f mpeg -c copy fichier.mpeg
Réencodage classique avec la commande :
ffmpeg -i fichier.mpeg -vcodec <codec video> -acodec <codec audio> <fichier de sortie>
-vf "transpose=dir=x"
avec x :
Pour une rotation à 180° on fera 2 fois 90° :
-vf "transpose=dir=2:transpose=dir=2"
ffmpeg -i input.mp4 -vf "hflip" output.mp4 # miroir horizontal ffmpeg -i input.mp4 -vf "vflip" output.mp4 # miroir vertical
-vf scale=1920:1080
L'accélération est déterminé par le rapport entre le débit d'image de la source (souvent 25 fps) et le débit de lecture. Le débit d'écriture dans le fichier de sortie n'intervient pas dans le ratio.
ffmpeg -r 500 -i input.mkv -r 25 output.mkv
Ici on lit à 500 fps une source à 25 fps donc on accélère par 500/25 = 20 fois. Le fait d'écrire la vidéo à 25 fps (ou autre) n'intervient pas dans le ratio.
ffmpeg -r 5 -i input.mkv -r 25 output.mkv
Ici on lit à 5 fps une source à 25 fps donc on accélère par 5/25 = 0,2 fois, on ralenti donc d'un facteur 5.
Appliquer le filtre d'inversion vidéo :
ffmpeg -i input.mp4 -vf reverse output.mp4
Créer un fichier “liste.txt” contenant la liste des fichiers avec le chemin :
file '/chemin/video1.mkv' file '/chemin/video2.mkv' ... file '/chemin/videox.mkv'
Puis lancer la commande :
ffmpeg -f concat -safe 0 -i liste.txt -c copy output.mkv
On peut intégrer un fichier de sous-titres au format SRT (SubRip). Le fichier doit être correctement formaté avec des marqueurs de temps.
ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt" output.mp4
ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt:force_style='FontName=Arial,FontSize=24,PrimaryColour=&H00FFFF&,Alignment=2'" output.mp4
ffmpeg -i input.mkv -f srt -i sous-titres.srt -map 0:0 -map 0:1 -map 1:0 -c:v copy -c:a copy -c:s srt output.mkv
Créer un fichier au format OGG texte en évitant les accents et caractères spéciaux dans les titres :
CHAPTER01=00:00:00.000 CHAPTER01NAME=Titre du premier chapitre CHAPTER02=00:09:19.000 CHAPTER02NAME=Titre du chapitre ... CHAPTER12=01:55:50.320 CHAPTER12NAME=Titre du chapitre