-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
: 340K
opengl-rotating-triangle.zip
: 7,3 млн
О параметрах CLI
Однако обратите внимание, что, несмотря на название, -glob
это не так широко, как шаблоны оболочки Glob, например: -i '*'
fails: https://trac.ffmpeg.org/ticket/3620 (очевидно, потому что тип файла выводится из расширения).
-r 30
делает -framerate 1
видео на 30 FPS, чтобы преодолеть ошибки в плеерах, таких как VLC, для низких частот: https://stackoverflow.com/questions/19267443/playback-issues-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.
Библиография