====== ffmpeg ======
===== Extraire l'audio d'une vidéo =====
ffmpeg -i "input.mkv" -ss 0:09:00 -t 330 -map 0:a:0 "output.flac"
Paramètres
* ''-i'' : fichier duquel extraire
* ''-ss'' : position de départ hh:mm:ss
* ''-t'' : durée à capturer en secondes (possibilité d'utiliser un format hh:mm:ss aussi)
* ''-map 0:a:0'' : optionnel, si plusieurs pistes audio (par exemple plusieurs langues), le dernier chiffre correspond au numéro à extraire
* ''output.flac'' = remplacer par le nom du fichier de destination
===== Extraire une portion sans ré-encoder =====
ffmpeg -i "source.mp4" -ss 00:36:34 -t 00:08:20 -map 0 -c copy destination.mp4
Il peut y avoir un glitch au début, ne pas hésiter à ajouter ou retirer une seconde.
===== Concaténer deux vidéos de même format =====
ffmpeg -i video1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i video2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
Source : http://trac.ffmpeg.org/wiki/Concatenate#protocol
===== Recompresser une vidéo en H264 =====
ffmpeg -i "source.mp4" -vcodec libx264 -crf 20 "resultat.mp4"
Diminuer la valeur de CRF pour augmenter la qualité, et augmenter cette valeur pour diminuer la taille.
Source : https://unix.stackexchange.com/questions/28803/how-can-i-reduce-a-videos-size-with-ffmpeg#
* Pour changer le nombre d'images par secondes : paramètre -r
* Pour changer la résolution : paramètre -s
ffmpeg -i "source.mp4" -vcodec libx264 -crf 20 -r 20 -s 360x640 "resultat.mp4"
===== Convertir tous les fichiers d'un dossier =====
for input in *.m4a; do ffmpeg -i "$input" "${input%.*}.flac"; done
===== Compresser en flac récursivement =====
shopt -s globstar nocaseglob
for input in GigaSoundPack/**/*.wav
do
indir=$(dirname "$input")
outdir=${indir/#GigaSoundPack/GigaSoundFlac}
[ ! -d "$outdir" ] && mkdir -p "$outdir"
infile=$(basename "$input")
outfile=${infile%.???}.flac
ffmpeg -i "$input" "${outdir}/${outfile}"
done