Utiliser ffprobe pour récupérer les infos sur un fichier vidéo/audio :
- ffprobe -hide_banner -loglevel fatal -show_error -show_format -show_streams -show_programs -show_chapters -show_private_data -print_format json le_fichier_video.mp4
- ffprobe -v quiet -print_format json -show_format -show_streams le_fichier_audio.mp3
Compresser des fichiers vidéos
- compression en mp4 qualité web en gardant même taille :
- ffmpeg -i une_video.mp4 -c:v libx264 -b:v 1.5M -c:a aac -b:a 128k sortie/une_video_compressee.mp4
- compression en mp4 qualité web en imposant le format Full HD ou HD :
- ffmpeg -i une_video.mp4 -c:v libx264 -b:v 1.5M -c:a aac -b:a 128k -filter:v scale=1920x1080 sortie/une_video_compressee.mp4
- ffmpeg -i une_video.mp4 -c:v libx264 -b:v 1.5M -c:a aac -b:a 128k -filter:v scale=1280x720 sortie/une_video_compressee.mp4
- compression en webm qualité web en gardant même taille :
- ffmpeg -i une_video.mp4 -c:v libvpx-vp9 -b:v 1.5M -c:a libopus -b:a 128k sortie/une_video_compressee.webm
- compressions en mp4 qualité web taille adaptées téléphones nHD ou qHD :
- ffmpeg -i source.mov -c:v libx264 -b:v 0.33M -c:a aac -b:a 96k -filter:v scale=960x540 qHD/source.mp4
- ffmpeg -i source.mov -c:v libx264 -b:v 0.25M -c:a aac -b:a 48k -filter:v scale=640x360 nHD/source.mp4
- compression en webm qualité web taille adaptée téléphones :
- ffmpeg -i une_video.mp4 -c:v libvpx-vp9 -b:v 0.33M -c:a libopus -b:a 96k -filter:v scale=960x540 sortie/test_mobile.webm
boucle bash pour générer toutes les vidéos d’un répertoire : exemple pour créer nHD et qHD :
- for i in `ls *.mp4`;do ffmpeg -i $i -c:v libx264 -b:v 0.33M -c:a aac -b:a 96k -filter:v scale=960x540 qHD/$i; ffmpeg -i $i -c:v libx264 -b:v 0.33M -c:a aac -b:a 96k -filter:v scale=640x360 nHD/$i;done
Récupérer un morceau d’une vidéo existante :
- cas 1 : les 309 premières secondes
- ffmpeg -i source.mp4 -t 309 -c copy sortie/p1_1.mp4
- cas 2 : à partir de 19’34’’ :
- ffmpeg -i source.mp4 -ss 00:19:34 -c copy sortie/p1_2.mp4
- cas 3 : à partir de 25’30 jusqu’à 31’18
- ffmpeg -i source.mp4 -ss 00:25:30 -to 00:31:34 -c copy sortie/p1_3.mp4
- cas 4 : 15 secondes à partir de 28’20
- ffmpeg -i source.mp4 -ss 00:28:20 -t 15 -c copy sortie/p1_4.mp4
Fusionner 3 vidéos :
dans le répertoire contenant les vidéos à fusionner création d’un fichier txt fusion.txt qui contient la liste des vidéos à fusionner :
lancer ffmpeg pour qu’il utilise la liste des fichiers de fusion.txt :
- ffmpeg -f concat -i fusion.txt -c copy sortie/p1.mp4
Extraire la bande son d’une vidéo :
extraction de la bande son au format mp3 :
- ffmpeg -i source.mp4 -vn sortie/source_audio.mp3
Ajout d’une bande son à une vidéo :
- cas 1 : fusion de la vidéo source.mp4 (sans son) avec la bande son source_audio.mp3 (on se place dans le cas "simple" où les 2 sources font exactement le même temps) :
- ffmpeg -i source.mp4 -i source_audio.mp3 -c:v copy -c:a aac sortie/video_avec_son.mp4
- cas 2 : remplacement de la bande son de la vidéo source.mp4 par la bande son source_audio.mp3 :
- ffmpeg -i source.mp4 -i source_audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 sortie/video_avec_son.mp4
Compression des fichiers audios mp3
- compression en échantillonage 96k (testé OK dans le match 48k / 96k / 128k) :
- ffmpeg -i p2_e1_c1.mp3 -b:a 96k sortie/test_96.mp3
Intégration d’un fichier de sous-titres .srt :
- ffmpeg -i test_video_xavier.mp4 -vf subtitles=test_sstitres_xavier.srt test_video_xavier_sstitree.mp4