0x6 и конкретные примеры со звуком 0x2 и 0x2 и этот вариант был упомянут на: 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 ]0x3 и 0x2 и 0x2 и Нормальная скорость видео с одним изображением на кадр при 30 кадров в секунду 0x2 и 0x2 и 0x1 и 0x2 и 0x2 и 0x2 и т.д. Вот как это выглядит:
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' \
-c:v libx264 -pix_fmt yuv420p out.mp4
Результат: https://www.youtube.com/watch?v=HG7c7lldhM4
Переконвертируйте один музыкальный файл в видео с фиксированным изображением для загрузки на YouTube
Ответ получен: [ Как преобразовать MP3 в видеоформат, разрешенный Youtube? ]0x3 и 0x2 и 0x2 и Получить синтетические тестовые входные изображения 0x2 и 0x2 и Это тестовые изображения, которые я использовал в этом ответе:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Изображения, сгенерированные вместе: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Круто наблюдать за тем, как видео сжимает последовательность изображений лучше, чем ZIP, так как оно способно сжимать кадры с помощью специализированных алгоритмов:
-pattern_type glob
: 340K
opengl-rotating-triangle.mp4
: 7.3M
О вариантах CLI
Обратите внимание, однако, что, несмотря на название, opengl-rotating-triangle.zip
это не так общее, как паттеры оболочки Глобус, например: -glob
не работает: https://trac.ffmpeg.org/ticket/3620 (по-видимому, потому что тип файла вычитается из расширения).
-i '*'
делает -r 30
видео 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.
** Библиография**