Je joue de temps en temps avec ffmpeg, voici quelques notes de trucs trouvés pour certaines fonctionnalités de cet outil extraordinaire.
ffmpeg -i input.mp4 -vf "fade=in:0:24,fade=out:900:24" -acodec copy output.mp4
Avec in:0:24 pour un début à l'image numéro 0 et une durée de 24 images
et out:900:24 pour une fin à l'image 900 et une durée de 24 images
ffmpeg -i input.mp4 -vcodec copy -f rawvideo -y /dev/null 2>&1 | tr ^M '\n' | awk '/^frame=/ {print $2}'|tail -n
Et dans un script, en passant par une variable :
duree=$(ffmpeg -i output.mp4 -vcodec copy -f rawvideo -y /dev/null 2>&1 | tr ^M '\n' | awk '/^frame=/ {print $2}'|tail -n 1) echo $duree
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=440:main_h-overlay_h-10" output.mp4
Avec overlay=440 pour la position horizontale (à partir de la gauche)
et h-10 pour laposition verticale (à partir d'en bas)
ffmpeg -i input.mp4 -vf drawtext=text='Ton texte ici':x=610:y=H-th-20:fontfile=/path/to/font.ttf:fontsize=42:fontcolor=white:shadowcolor=black:shadowx=1:shadowy=1 output.mp4
Et tu peux remplacer 'Ton texte ici' par une variable.
ffmpeg -hide_banner -nostats -loglevel 0 -r 24 -pattern_type glob -i "/path/to/images/*.jpg" -threads 4 -vcodec libx264 -pix_fmt yuv420p output.mp4
Avec quelques options spécialement pour les scripts :
le -hide_banner, le -nostats et le -loglevel 0 servent à réduire les infos en retour qui sont inutiles pour moi à ce stade dans un script,
le -threads 4 permet de limiter le nombre de coeurs du processeur attribué pour cette opération.
Il faut avoir installé 'imagemagick'
composite -blend pourcentImage1xpourcentImage2 path/to/image1.jpg path/to/image2.jpg output.jpg