====== Vidéo ====== ===== FFMpeg ===== ==== Compression Réseaux sociaux ==== ffmpeg -i input.ts -s hd720 -r 25 -c:v libx264 -profile:v high -level 4.2 -preset slow -crf 26 -c:a copy output.mp4 Accoler plusieurs fichiers ffmpeg -i GX010598.MP4 -i GX010599.MP4 -i GX010600.MP4 -i GX010601.MP4 -i GX010602.MP4 -i GX010603.MP4 -s hd720 -r 25 -c:v libx264 -profile:v high -level 4.2 -preset slow -crf 26 -c:a copy output.mp4 ==== Compression H.264 ==== ffmpeg -i VI000007.mp4 -c:v libx264 -preset slow -crf 10 -profile:v high -level 4.2 ../bla.mp4 ==== Webm ==== ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 0 -crf 30 -row-mt 1 -c:a libopus -b:a 128k output.webm Explication des paramètres : * c:v libvpx-vp9 : utilise le codec VP9. * b:v 0 : active le mode de débit variable basé sur CRF. * crf 30 : contrôle la qualité (valeurs plus élevées = compression plus forte, qualité moindre). * row-mt 1 : active le multithreading pour accélérer l'encodage. * c:a libopus : encode l'audio avec Opus. * b:a 128k : bitrate audio. ==== Stabiliser une vidéo ==== === Méthode 1 === ffmpeg -i in.mp4 -vf "deshake=blocksize=32:rx=32:ry=32:contrast=63" out.mp4 === Méthode 2 === Si ffmeg est compilé avec le support de "vid.stab" ffmpeg -i ../corse_j3_2k7.ts -vf vidstabdetect -f null - ffmpeg -i ../corse_j3_2k7.ts -vf vidstabtransform=input="transforms.trf" -c:v libx265 -preset slow -crf 18 -c:a copy ../corse_j3_2k7_stab.ts Pour des configs plus poussées : ffmpeg -i SHAKY_INPUT_VIDEO.mp4 -vf vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=transform_vectors.trf -f null - ffmpeg -i SHAKY_INPUT_VIDEO.mp4 -vf vidstabtransform=input=transform_vectors.trf:zoom=1:smoothing=30,unsharp=5:5:0.8:3:3:0.4 -vcodec libx264 -preset slow -tune film -crf 18 -acodec copy SMOOTH_OUTPUT_VIDEO.mp4 ==== Changer le volume d'une vidéo ==== ffmpeg -i in.mp4 -af volume=volume=25dB out.mp4 ==== Savoir quel est le volume sonore d'une vidéo ==== On fait on applique le filtre audio //volumedetect//. ffmpeg -i in.mp4 -af volumedetect -f null /dev/null ==== Examples ==== **Stabilisation, Crop, augmentation du rouge des couleurs et augmentation du volume** ffmpeg -i "10 Heron Island/VI000007.mp4" -vf "[in]vidstabtransform=input=transform_vectors.trf:zoom=1:smoothing=30,unsharp=5:5:0.8:3:3:0.4[out]; [out]crop=in_w:720:0:60[out2]; [out2]selectivecolor=cyans=-0.2 0.3 -0.2:blues=-0.2 0.3 -0.2:greens=-0.2 0.3 -0.2" -vcodec libx264 -preset slow -tune film -crf 18 -filter:a "volume=15dB" requins.mp4 **Cutting a video, drawing a white box for a given time** ffmpeg -ss 5 -i requins.mp4 -t 15 -vf "drawbox=x=iw/10:y=ih*8/10:w=iw/10:h=ih/10:color=white:t=fill:enable='between(t,0,0.5)'" -c:v libx264 -preset veryslow -crf 0 sample.mkv **Repeating a video many times** ffmpeg -stream_loop 20 -i sample.mkv -c copy full_sample.mp4 ==== Traiter plusieurs fichiers ==== for f in *.ogg; do ffmpeg -i "$f" -c:a aac -q:a 2 "${f%.ogg}.m4a"; done ==== Compilation ==== Ici, c'est avec le support de blackmagic ./configure --prefix="/usr/local" --enable-pthreads --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libfdk-aac --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-gpl --enable-decklink --enable-nonfree --enable-ffplay --extra-cflags=-I/home/francois/develop/video/Blackmagic-DeckLink-SDK-11.1/Linux/include/ --extra-ldflags=-L/home/francois/develop/video/Blackmagic-DeckLink-SDK-11.1/Linux/include/ ===== VLC ===== ==== Compilation ==== Dépendances sudo apt install qtbase5-private-dev avec le support de decklink ./bootstrap LIBS=-lX11 ./configure --prefix="/usr/local" --enable-caca --enable-vulkan --disable-chromecast --disable-opencv --enable-decklink --with-decklink-sdk=/home/francois/develop/video/Blackmagic-DeckLink-SDK-11.1/Linux