Il existe deux méthodes :

  • soit un crée unn fichier aves la liste des video a concatener et on part de ce fichier, que l'on fornit à ffmpeg pour qu'il fasse la concatenation des video
  • soit on écrit tout en ligne de commande.
  1. Avec un fichier :
    La commande est
    ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.wav
    Le fichier doit être de la forme
    # this is a comment
    file '/path/to/file1.wav'
    file '/path/to/file2.wav'
    file '/path/to/file3.wav'
  2. En ligne :
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy output.ts

ffmpeg -i music.mp3 -i 1.jpg -filter_complex "[0:a]showwaves=s=1280x720:mode=line,colorkey=0x000000:0.01:0.1,format=yuva420p[v];[1:v]scale=1280:720[bg];[bg][v]overlay[outv]" -map "[outv]" -map 0:a -c:v libx264 -c:a copy mix_photo_video.avi

  • -i music.mp3 : musique en entrée
  • -i 1.jpg : image fixe en fond
  • -filter_complex : définition du filtre de création du bargraph
    • [0:a]showwaves=s=1280x720 : définition du type de filtre avec sa taille
    • mode=line : Graphique de type lignes. Cette valeur line peut etre modifiée par point, p2p ou cline
    • mode=line : bargraph en ligne
    • colorkey : couleurs du bargraph
    • format : format de sortie de la video
    • scale : taille de la vidéo
    • overlay : ?

 

Utile pour recaller un décallage entre le son et la vidéo

ffmpeg -i "sample.mp4" -itsoffset 13.84 -i "sample.mp4" -map 1:v -map 0:a -c copy "movie-video-delayed.mp4"

Cette commande permet de baisser le volume sonore entren 1:30 (90) surant 30 secondes à un volume de 0.1

ffmpeg -i in.mp4 -filter_complex "[0:v]null[out2];[0:a]atrim=duration=90[a];\ [0:a]atrim=start=90:duration=30,volume=0.1,asetpts=PTS-STARTPTS[b];[a][b]concat=v=0:a=1[c];\ [0:a]atrim=start=120,asetpts=PTS-STARTPTS[d];[c][d]concat=v=0:a=1[out1]" \ -acodec mp2 -map [out1] -map [out2] out.mp4

ffmpeg -loop 1 -y -i image8.jpg -i sound11.amr -shortest -acodec copy -vcodec mjpeg result.avI

fmpeg -i showfreqs.mp4 -i shoeqs.mp4 -filter_complex "[1]scale=iw/5:ih/5 [pip]; [0][pip] overlay=main_w-overlay_w-10:main_h-overlay_h-10" -profile:v main -level 3.1 -b:v 440k -ar 44100 -ab 128k -s 720x400 -vcodec h264  PIP_output1.mp4

  • -i showfreqs.mp4 ; 1er fichier en entrée
  • -i shoes.mp4 ; 2e fichier en entrée
  • scale : la taille de la petite image fait un cinquième de la grande
  • overlay : où placer l'image. Ici la localisation est calculée mais on peut spacifier a la placed es données fixes
  • les autres paramètres concernent le sont où l'ont "copie" les données du fichier de départ

ffmpeg -i audio.mp3 -filter_complex "[0:a]showwaves=s=1920x1080:mode=line,format=yuv420p[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy output.mp4

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v][1:v] overlay=10:10:enable='between(t,1,2)'" output.mp4

  • -i input.mp4 : fichier en entrée sur lequel placer l'image watermark
  • -i watermark.png : Nom du fichier watermark à placer
  • -filter_complex : seconde de début et seconde de fin d'affichage du watermark