ffmpeg : quelques commandes utiles
Couper une vidéo
ffmpeg -i src.mp4 -ss 00:00:00 -t 00:00:01 -async 1 out.mp4
Ne garde que une seconde à partir du début de la vidéo. -t précise une durée, pas la fin.
ffmpeg -i src.mp4 -ss 00:00:02 -to 00:00:05 -async 1 out.mp4
Garde la vidéo située entre la 2e seconde et la 5e.
Ne pas réencoder la vidéo
-vcodec copy
Ne pas réencoder le son
-acodec copy
Taille 2 fois plus petite
-vf "scale=iw/2:ih/2"
Encodage en VP9
Cet encodeur est impressionnant. J'utilise ce script :
#!/bin/sh # require ffmpeg # convert video to webm using vp9 encoder for i in $@; do j="${i%.*}" ffmpeg -i ${i} -c:v libvpx-vp9 -b:v 0 -crt 31 -pass 1 -an -f webm /dev/null -y && \ ffmpeg -i ${i} -c:v libvpx-vp9 -b:v 0 -crt 31 -pass 2 -c:a libopus ${j}.webm done
Ajouter et remplacer l'audio
L'option "shortest" permet de ne pas rallonger la vidéo si le son est plus long que cette dernière.
ffmpeg -i video.avi -i audio.mp3 -codec copy -shortest output.avi
Ajouter l'option "-itsoffset 3.84" permet de décaler le flux qui sera précisé ensuite. Il faut donc la préciser juste avant "-i audio.mp3" pour décaler l'audio.