Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
ressource:logiciel:ffmpeg:start [2023/04/27 18:11] emoc [Petits trucs pratiques] |
ressource:logiciel:ffmpeg:start [2023/06/15 10:58] emoc [Petits trucs pratiques] |
||
---|---|---|---|
Ligne 103: | Ligne 103: | ||
# 20210927 ffmpeg 3.2.12-1 / debian 9.5 @ kirin | # 20210927 ffmpeg 3.2.12-1 / debian 9.5 @ kirin | ||
ffmpeg -i realmedia.rm -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3 | ffmpeg -i realmedia.rm -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3 | ||
- | |||
**Convertir des fichiers audio en wav mono 16 bits et avec une fréquence d’échantillonnage de 16000 Hz** | **Convertir des fichiers audio en wav mono 16 bits et avec une fréquence d’échantillonnage de 16000 Hz** | ||
Ligne 113: | Ligne 112: | ||
**Vidéo à partir d'une image fixe et d'un son, la vidéo fait la durée du son** | **Vidéo à partir d'une image fixe et d'un son, la vidéo fait la durée du son** | ||
ffmpeg -loop 1 -r 30 -i 5054.png -i 5054.wav -c:v libx264 -tune stillimage -c:a aac -b:a 250k -shortest 5054.mp4 | ffmpeg -loop 1 -r 30 -i 5054.png -i 5054.wav -c:v libx264 -tune stillimage -c:a aac -b:a 250k -shortest 5054.mp4 | ||
+ | |||
+ | **Enregistrer une video du bureau (sur Debian)** | ||
+ | # ffmpeg 3.2.12-1 / debian 9.5 @ kirin / 20181203 | ||
+ | ffmpeg -video_size 1600x900 -framerate 10 -f x11grab -i :0.0+0,0 output.mp4 | ||
+ | options : https://trac.ffmpeg.org/wiki/Capture/Desktop | ||
+ | |||
+ | **Extraction d'un son depuis une vidéo en mp3** | ||
+ | # ffmpeg 3.2.12-1 / debian 9.5 stretch @ kirin / 20190327 | ||
+ | ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 320k -f mp3 audio.mp3 | ||
+ | |||
+ | **Extraction d'un son depuis un VOB en .wav 16bits** | ||
+ | # ffmpeg 3.2.5-1 / debian 9.1 @ urzhiata / 20180415 | ||
+ | ffmpeg -i ./VTS_01_1.VOB -vn -acodec pcm_s16le -sample_fmt s16 -ar 44.1k -ac 2 ./son.wav | ||
+ | | ||
+ | **Extraction d'images de film toutes les x secondes** | ||
+ | # ffmpeg 3.2.5-1 / debian 9.1 @ urzhiata / 20180831 | ||
+ | ffmpeg -i film.avi -r 1 -f image2 "image-du-film-%4d" | ||
+ | # pour des versions de ffmpeg plus récentes, essayer | ||
+ | ffmpeg -i video.mp4 -vf fps=1 out%d.png # extraction d'une image par seconde | ||
+ | ffmpeg -i video.mp4 -vf fps=1/60 out%02d.jpg # extraction d'une image par minute | ||
+ | |||
+ | **Extraction de toutes les images d'une vidéo** | ||
+ | # testé 1( juin 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | ffmpeg -i video.mp4 images_%04d.png | ||
| | ||
**Vidéo à partir d'une image fixe et d'un son, pour publication en post instagram** ([[https://ffmpegfromzerotohero.com/blog/ffmpeg-instagram-best-practices/|source]]) | **Vidéo à partir d'une image fixe et d'un son, pour publication en post instagram** ([[https://ffmpegfromzerotohero.com/blog/ffmpeg-instagram-best-practices/|source]]) | ||
Ligne 133: | Ligne 156: | ||
-shortest: adapte à la longueur du flux le plus court, ici le son car les mages sont en boucle | -shortest: adapte à la longueur du flux le plus court, ici le son car les mages sont en boucle | ||
- | + | ||
+ | **Vidéo à partir de plusieurs images fixes, sans son, pour publication en story instagram** | ||
+ | # testé 31 mai 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | ffmpeg -f concat -i input.txt -map 0:v -c:v h264 -tune stillimage -crf 18 -an -pix_fmt yuv420p -max_muxing_queue_size 1024 -vsync vfr output.mp4 | ||
+ | Les images sont à la même définition : 1080x1920 \\ | ||
+ | Elles sont listés dans le fichier texte **input.txt** avec leur durée en seconde (la dernière image est répété dans le fichier texte, c'est comme ça!) : \\ | ||
+ | file 'image1.png' | ||
+ | duration 5 | ||
+ | file 'image2.png' | ||
+ | duration 1 | ||
+ | file 'image3.png' | ||
+ | duration 3 | ||
+ | file 'image3.png' | ||
+ | |||
+ | **Atout de son à une vidéo pour publication instagram** | ||
+ | # testé 6 juin 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | # sans réencodage de la vidéo | ||
+ | ffmpeg -i video.mp4 -i son.wav -map 0:v -map 1:a -c:v copy -shortest video3.mp4 | ||
+ | # avec réencodage | ||
+ | ffmpeg -i video.mp4 -i son.wav -map 0:v -map 1:a -r 25 -c:v h264 -tune stillimage -crf 18 -c:a aac -b:a 128k -ac 2 -ar 44100 -pix_fmt yuv420p -max_muxing_queue_size 1024 -shortest video2.mp4 | ||
**Extraire une image d'une vidéo** | **Extraire une image d'une vidéo** | ||
ffmpeg -i video.mp4 -vframes 1 image.png | ffmpeg -i video.mp4 -vframes 1 image.png | ||
Ligne 148: | Ligne 191: | ||
(-c:a copy : copie du flux audio, -crf : 18 qualité visuellement proche du lossless) \\ | (-c:a copy : copie du flux audio, -crf : 18 qualité visuellement proche du lossless) \\ | ||
cf. infos sur les qualité du h264 : https://trac.ffmpeg.org/wiki/Encode/H.264 | cf. infos sur les qualité du h264 : https://trac.ffmpeg.org/wiki/Encode/H.264 | ||
+ | |||
+ | **Changer le framerate et modifier la vitesse de lecture, sans réencoder** ([[https://stackoverflow.com/a/64251589|source]]) \\ | ||
+ | En 2 étapes, en partant d'une vidéo à 60 fps pour la passer à 30 fps, et la ralentir (2 fois plus lente). Dans ce cs, je n'ai pas besoin de son mais l'exemple de la source concerne aussi le son. | ||
+ | # testé 12 juin 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | ffmpeg -i video_60fps.mp4 -c copy -f h264 output_raw_bitstream.h264 | ||
+ | ffmpeg -r 30 -i output_raw_bitstream.h264 -c copy video_30fps.mp4 | ||
+ | | ||
+ | **Vidéo sans son en ping-pong / yoyo** ([[https://stackoverflow.com/a/42257863|source]])\\ | ||
+ | Une fois à l'endroit, une fois à l'envers | ||
+ | # testé 12 juin 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | ffmpeg -i input.mp4 -filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [v]" -map "[v]" output.mp4 | ||
+ | |||
+ | **Réencoder en changeant les dimensions** | ||
+ | # testé 14 juin 2023 / ffmpeg version 3.2.18-0+deb9u1 | ||
+ | ffmpeg -i video.mp4 -vf scale="360:360" -c:a aac -b:a 128k -ac 2 -ar 44100 -pix_fmt yuv420p output.mp4 | ||
===== Ressources ===== | ===== Ressources ===== | ||
Ligne 156: | Ligne 214: | ||
* documentation : https://ffmpeg.org/ffmpeg.html | * documentation : https://ffmpeg.org/ffmpeg.html | ||
* https://ffmpegfromzerotohero.com/blog/ (c'est aussi un livre) | * https://ffmpegfromzerotohero.com/blog/ (c'est aussi un livre) | ||
+ | * mixage audio / vidéo : https://stackoverflow.com/a/11783474 | ||