15.1 FFmpeg

15.1.1 gif

https://itectec.com/superuser/how-to-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality/ http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html

ffmpeg  \
-i %*.png \
-vf "scale=320:-1:flags=lanczos,\
split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
-loop 0 \
output2.gif

15.1.1.1 Créer un gif depuis une sequence d’image

ffmpeg \
-i %*.png \
-filter_complex "[0:v] \
fps=5,scale=w=720:h=-1,split [a][b];[a] \
palettegen=stats_mode=single [p];[b][p] \
paletteuse=new=1" \
out.gif

15.1.1.2 Palindrome

https://stackoverflow.com/questions/42257354/concat-a-video-with-itself-but-in-reverse-using-ffmpeg

ffmpeg \
-i %*.png \
-filter_complex "[0:v]\
reverse,fifo[r];[0:v][r] \
concat=n=2:v=1 [v]" \
-map "[v]" \
output.gif

15.1.3 ex: Transcoder un fichier video vers un fichier prores compatible avec quicktime

ffmpeg -i INPUT.mkv -c:v prores_ks -profile:v 3 -c:a pcm_s16le -pix_fmt yuv420p OUTPUT.mov

-profile est un chiffre entire de -1 to 5 correspondant au profile prores suivant :

  • -1: auto (default)
  • 0: proxy 45Mbps YUV 4:2:2
  • 1: lt 102Mbps YUV 4:2:2
  • 2: standard 147Mbps YUV 4:2:2
  • 3: hq 220Mbps YUV 4:2:2
  • 4: 4444 330Mbps YUVA 4:4:4:4
  • 5: 4444xq 500Mbps YUVA 4:4:4:4

-pix_fmt yuv420p permet de créer un fichier compatible avec Quicktime

15.1.4 Compresseur sur la piste audio (compand) sans recompresser la vidéo {ffmpeg-fastaudiocompand}

Exemple pour un fichier

 ffmpeg -i fichier_video_entrant.mp4 \
 -vcodec copy  -filter_complex \
 "compand=attacks=0:points=-80/-900|-45/-15|-27/-9|0/-7|20/-7:gain=5" \
 fichier_video_sortant.mp4

Exemple pour traiter tous les fichiers d’un dossiers. Le script prend un dossier comme argument et traite tous les fichiers présent. Le fichier sortant sera précédé de comp_

for file in "$1"*
do
    if [ -f "$file" ]; then 
        echo "$file"
        DOSSIER=`dirname "$file"`
        FICHIER=`basename "$file"`
            ffmpeg -i "$file" \
            -vcodec copy  -filter_complex \
            "compand=attacks=0:points=-80/-900|-45/-15|-27/-9|0/-7|20/-7:gain=5" \
            "$DOSSIER"/_"$FICHIER"
    fi 
done