Я хочу створити часовий проміжок з колекції зображень під Ubuntu. Я хотів би зробити відео HD та в ідеалі додати саундтрек.
Я хочу створити часовий проміжок з колекції зображень під Ubuntu. Я хотів би зробити відео HD та в ідеалі додати саундтрек.
Відповіді:
Ffmpeg це зробить. Якщо у вас є зображення, img001.jpg, img002.jpg, img003.jpg, ...то в командному рядку виконайте:
ffmpeg -i img*.jpg output.mpeg
Є більше варіантів, наведених на ffmpeg --helpсторінках або man, або в Інтернеті. Вони дозволяють контролювати частоту кадрів та формат виводу.
.jpgфайли, як вихідний файл. Я отримую File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]- не такий великий. Моє рішення полягало в створенні списку файлів, \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txtа потім завантаженні його ffmpeg -f concat -i files.txt output.mpeg.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Спочатку ми перейменовуємо всі * .JPG файли на основі дати їх створення. Іноді камери змінюють ім'я файлу або просто замовляють їх - це якось не те, що ми хочемо. Однак перейменування їх за датою створення завжди працює:
jhead -n%Y%m%d-%H%M%S *.JPG
Після цього ми ставимо цей список у файл:
ls -1tr | grep -v files.txt > files.txt
Потім використовуйте mencoderдля створення AVIвідео, використовуючи 20 кадрів в секунду. Зауважте, що це створить величезний відеофайл, як правило, приблизно однакового розміру всіх зображень, що підсумовуються.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Я зазвичай фотографую для тимчасового проміжку з найнижчою роздільною здатністю моєї камери (5 Мп), яка має співвідношення сторін 4: 3. Для створення належного відео 1080p зображення спочатку повторно масштабується до 1920 пікселів шириною, а потім обрізаю його до висоти 1080 пікселів. Таким чином я не змінюю вміст фотографій, просто обрізаю:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Причиною, що я використовую mencoder для збору фотографій, є те, що я отримав segmentation faultffmpeg.
ffmpegкоманді -sameqваріант замінено на-qscale 0
Блендер - це хороше рішення, якщо ви маєте справу з часовим промігом руху (гіперлапсом) або нестабільним кадром. Він має функції відстеження руху, тому ви можете вибрати фіксовану точку, яку слід відстежувати протягом усього проміжку часу. Ви також можете виправити проблеми з обертанням.
Можливо, вас також зацікавить timelapse-darktable проекту . Це дозволяє легко обробляти зображення за допомогою темних темних та робити часовий проміжок серії. Інструкції щодо його використання ви знайдете тут: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Ви можете використовувати mencoder. Варіанти досить прикладні:
Якщо всі вони знаходяться в каталозі лікувальних препаратів із упорядкованими іменами, і ви хочете, щоб список у файлі /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Якщо ви хочете, щоб вихідний файл був /tmp/test.avi з 30 кадрів в секунду:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive також може генерувати часові проміжки за допомогою Add Slideshow Clipменю, як це пояснено в цьому підручнику .
За даними цього ж сайту , Openshot має схожий функціонал, але не рекомендує його, оскільки це "занадто глючно". Тим не менш, якщо це ваш кращий відеоредактор, ви будете раді дізнатись, що можете просто перетягнути послідовність файлів, правильно названих (001.jpg до NNN.jpg), у вікно відкриття, щоб імпортувати їх як часовий проміжок.