| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| francois:video [2019/05/30 08:37] – [Compilation] francois | francois:video [2025/06/06 14:59] (Version actuelle) – francois |
|---|
| |
| ===== FFMpeg ===== | ===== 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 ==== | ==== Compression H.264 ==== |
| |
| ffmpeg -i VI000007.mp4 -c:v libx264 -preset slow -crf 10 -profile:v high -level 4.2 ../bla.mp4 | 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 ==== | ==== Stabiliser une vidéo ==== |
| | |
| | === Méthode 1 === |
| |
| <code bash> | <code bash> |
| ffmpeg -i in.mp4 -vf "deshake=blocksize=32:rx=32:ry=32:contrast=63" out.mp4 | ffmpeg -i in.mp4 -vf "deshake=blocksize=32:rx=32:ry=32:contrast=63" out.mp4 |
| </code> | </code> |
| | |
| | === Méthode 2 === |
| |
| Si ffmeg est compilé avec le support de "vid.stab" | Si ffmeg est compilé avec le support de "vid.stab" |
| | |
| | <code bash> |
| | 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 |
| | </code> |
| | |
| | Pour des configs plus poussées : |
| |
| <code bash> | <code bash> |
| 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 | 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 |
| </code> | </code> |
| | |
| | |
| | |
| ==== Changer le volume d'une vidéo ==== | ==== Changer le volume d'une vidéo ==== |
| |
| |
| <code bash> | <code bash> |
| ./configure --prefix="/usr/local" --enable-pthreads --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/ | ./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/ |
| </code> | </code> |
| |
| |
| ==== Compilation ==== | ==== Compilation ==== |
| | |
| | Dépendances |
| | <code bash> |
| | sudo apt install qtbase5-private-dev |
| | </code> |
| |
| avec le support de decklink | avec le support de decklink |
| <code bash> | <code bash> |
| ./bootstrap | ./bootstrap |
| ./configure --prefix="/usr/local" --with-decklink-sdk=/home/francois/develop/video/Blackmagic-DeckLink-SDK-11.1/ | 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 |
| </code> | </code> |