-pattern_type glob
конкретні приклади зі звуком
Цей параметр згадувався на веб- сайті: https://superuser.com/a/782520/128124, але ось кілька конкретних прикладів його використання, включаючи додавання аудіо до вихідного відео.
Показ слайд-шоу з одним зображенням в секунду
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Додайте до нього музику, відсікаючи звук, коли зображення закінчуються:
ffmpeg -framerate 1 -pattern_type glob -i '*.png' -i audio.ogg \
-c:a copy -shortest -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Ось дві демонстрації на YouTube:
Будьте хіпі та використовуйте формат відео, не обмеженого патентом Theora :
ffmpeg -framerate 1 -pattern_type glob -i '*.png' -i audio.ogg \
-c:a copy -shortest -c:v libtheora -r 30 -pix_fmt yuv420p out.ogg
Зображення слід, звичайно, сортувати за алфавітом, як правило:
0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
і так далі.
Дивіться також: http://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps/339399#339399
Відео із звичайною швидкістю з одним зображенням на кадр при 30 кадрів в секунду
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
Ось як це виглядає:
GIF, створений за допомогою: https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line/837574#837574
Додайте до нього аудіо:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Результат: https://www.youtube.com/watch?v=HG7c7lldhM4
Перетворіть один музичний файл у відео з фіксованим зображенням для завантаження на YouTube
Відповів на: Як перетворити MP3 у формат відео, дозволений Youtube?
Отримайте деякі синтетичні вхідні зображення
Це тестові зображення, які я використовував у цій відповіді:
wget -O opengl-rotating-triangle.zip https://github.com/cirosantilli/media/blob/master/opengl-rotating-triangle.zip?raw=true
unzip opengl-rotating-triangle.zip
cd opengl-rotating-triangle
wget -O audio.ogg https://upload.wikimedia.org/wikipedia/commons/7/74/Alnitaque_%26_Moon_Shot_-_EURO_%28Extended_Mix%29.ogg
Зображення, створені за допомогою: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Приємно спостерігати, наскільки відео стискає послідовність зображень краще, ніж ZIP, оскільки воно здатне стискати через кадри спеціалізованими алгоритмами:
opengl-rotating-triangle.mp4
: 340К
opengl-rotating-triangle.zip
: 7,3М
Про параметри CLI
Зауважте, що, незважаючи на назву, -glob
це не так загально, як оболонки Glob patters, наприклад: -i '*'
fails: https://trac.ffmpeg.org/ticket/3620 (мабуть, тому, що тип файлу виводиться з розширення).
-r 30
робить -framerate 1
відео 30 FPS для подолання помилок у програвачах, таких як VLC для низьких кадрів: https://stackoverflow.com/questions/19267443/playback-isissue-in-vlc-with-low-fps-video-from-images-using- ffmpeg / 41797724 # 41797724 Тому він повторює кожен кадр 30 разів, щоб зберегти бажаний ефект 1 секунду.
Наступні кроки
Ви також хочете:
TODO: навчіться вирізати та об'єднати декілька аудіофайлів у відео з командного рядка:
Випробуваний на
ffmpeg 3.4.4, vlc 3.0.3, Ubuntu 18.04.
Бібліографія