ffmpeg

(page créée le 15 juillet 2021)
Voir aussi : la fabrique gif / ffmpeg

ffmpeg est un logiciel en ligne de commande pour la manipulation de fichiers audiovisuels (video, audio, image, son, metadonnées). Il fait partie des logiciels “couteaux suisses” de manipulation de fichiers multimédia (avec imagemagick et sox). ffmpeg est utile pour :

  • changer les caractéristiques d'une vidéo (définition, nombre d'images par seconde),
  • changer les caractéristiques d'un fichier audio : par ex. conversion de wav vers mp3,
  • transcoder (changer de format et de codec),
  • extraire d'une vidéo : des images, une bande-son, une séquence, etc.,
  • manipuler les sous-titres,
  • créer des vidéos : en mixant images, séquences, bandes son,
  • ajouter / manipuler les méta-données
  • et une multitude d'autres choses!

ffmpeg est fourni avec deux autres utilitaires :

  • ffprobe : affichage des caractéristiques d'un fichier (doc ffprobe)
  • ffplay : lecteur de fichiers multimedia (doc ffplay)

Ce script traite tous les fichiers .wav d'un répertoire pour les transformer en .mp3 en ajoutant des métadonnées (utilisé pour les podcasts des 26 heures de radio baleine)

#!/bin/bash
# ffmpeg 3.2.12-1 / debian 9.5 @ kirin / 20210715
# conversion de fichiers audio .wav en fichiers .mp3 podcastables
# la plupart des métadonnées sont ajoutées automatiquement, pour les autres il faut compléter à la main!
# ffmpeg et métadonnées : https://wiki.multimedia.cx/index.php/FFmpeg_Metadata
 
metadataArtist="(collectif)"
metadataAlbum="Marathon Radio La Baleine"
metadataGenre="Spoken & Audio" 
metadataYear="2021"
 
for i in *.wav; do
    ffmpeg -i "$i" \
	-vn -ar 44100 -ac 2 -b:a 192k -f mp3 \
	-metadata artist="$metadataArtist" \
	-metadata album="$metadataAlbum" \
	-metadata genre="$metadataGenre" \
	-metadata date="$metadataYear" \
	"${i%wav}mp3"
done

(Sans recompression la partie sonore)
Pas facile de trouver des infos récapitulatives sur la définition et le poids des fichiers recommandés pour des podcasts… (ici l'image fait 512×512 et < 200 ko

ffmpeg -i in.mp3 -i image.png -map 0:0 -map 1:0 -codec copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3

-codec copy : pas de réencodage, ni pour l'image, ni pour le son

sous forme de script pour traiter tout un répertoire

#!/bin/bash
# ffmpeg 3.2.12-1 / debian 9.5 @ kirin / 20210715
 
for i in *.mp3; do
    ffmpeg -i "$i" -i image.png -map 0:0 -map 1:0 -codec copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" "${i%wav}mp3"
done

Pour éditer des métadonnées avec une interface graphique, on peut utiliser picard : https://picard.musicbrainz.org/ , des alternatives existent!
pour éditer des métadonnées en ligne de commande : lltag ou id3v2 ou id3tool

  • ressource/logiciel/ffmpeg/start.txt
  • Dernière modification: 2021/07/16 00:29
  • par emoc