FFMPEG изображения към видео урок

Ffmpeg Images Video Tutorial



Значи се интересувате от изграждането на видеоклип въз основа на изображения? Софтуерът на Linux също може да ви помогне с тази задача и най -вече с една: ffmpeg.

Ако все още не го знаете, ffmpeg е софтуер, който прави видео и аудио конвертиране и редактиране с помощта на филтри. Това е този, който поддържа най -голям брой различни кодеци. Ако вече сте използвали VLC, тогава знаете малко ffmpeg: VLC използва ffmpeg за декодиране на възможно най -много видеоклипове.







Но преди да направя видеоклипове, трябва да ви кажа някои концепции, за да не се изгубите по пътя.



Всъщност не е трудно да интегрирате изображения във видеоклип. И има причина: видеоклиповете се основават на поредица от изображения. Нека обясня.



Видеоклипът (дори видеоклипът в YouTube) е набор от неподвижни изображения, които се променят бързо. В кината и киносалоните между всяко изображение има черна картина, защото механизмът трябва да превключи кадъра и е бил твърде бавен. Но това не се забелязва от човешкото око, защото механизмът е достатъчно бърз и поради оптична илюзия.





Но компютрите нямат този проблем. LCD екраните просто продължават да показват последното изображение. Както и да е, всъщност можете да извлечете независимо изображение от всяко изображение на видеоклип. Когато изображение идва от видеоклип, той се нарича a кадър . Точно това виждате, когато поставяте видео на пауза - и когато го направите, лицата обикновено не изглеждат добре!

По принцип видеоклипове от САЩ съдържат 30 кадъра в секунда - осъзнай малко. Това е 1800 кадъра в минута, 54 000 кадъра за половин час видео или 108 000 кадъра на час . Това е много и затова понякога се чудите как едно изображение може да тежи 1 MiB, но една минута 1080p видео може да тежи само 15 MiB.



Броят на снимките в секунда се нарича честота на кадрите . При 30 кадъра в секунда променяте изображението всеки 33 милисекунди . Така че конкретно, ако искате да направите една минута видео, базирана единствено на вашите изображения, ще трябва да имате 1800 JPG или PNG файла на минута.

Това е полезно, ако искате да направите усъвършенствано редактиране на видео, без да използвате видео инструменти: просто трябва да изградите изображения за всеки кадър с вашите ефекти и след това можете да го обедините във видеоклип. Но понякога искате неподвижно изображение да продължи, защото, добре, искате неподвижно изображение във видео.

Добре, сега е време да инсталирате ffmpeg.

Инсталирайте ffmpeg на Linux

В зависимост от вашето разпространение, инсталирането на ffmpeg може да бъде лесно или малко хитро . Това е безплатен софтуер с публично достъпен изходен код, но тъй като може да декодира или кодира патентовани формати като MP4, някои дистрибуции го изключват от своите хранилища. Например в Red Hat Enterprise Linux, CentOS и Fedora се нуждаете от RPMFusion поради патенти. Нещо повече, всички версии на Debian и Ubuntu преди 16.04 разпространяват фалшива версия на ffmpeg на базата на нелегитимен форк.

Но преди да побързате да го инсталирате, може би правилната версия вече е инсталирана? Нека тестваме:

$ffmpeg -версия
ffmpegверсия X.XXXXXXXX Авторско право(° С) 2000 г.-2018 г.разработчиците на FFmpeg

Ако след авторските права видите разработчиците на FFmpeg, имате оригиналната версия на FFMpeg, не трябва да правите нищо. Ако обаче видите:

$ffmpeg -версия
ffmpegверсия X.XXXXXXXX Авторско право(° С) 2000 г.-2018 г.разработчиците на Libav

Тогава това означава, че използвате a вилица на ffmpeg, наречен Libav. Debian и по -стари версии на Ubuntu безшумно замени FFMpeg с Libav. Ако ви каже, че е оттеглен, моля, игнорирайте го, това е подвеждащо. Ако имате инсталирана вилица, време е да премахнете вашата версия на фалшив ffmpeg и след това следвайте ръководството по -долу, за да инсталирате правилната версия. Вероятно така:

$sudo apt-get remove ffmpeg

Така че сега може да не сте го инсталирали или имате грешна версия, време е да го инсталирате!

Във Fedora, Red Hat Enterprise Linux (RHEL) и CentOS отидете на https://rpmfusion.org/Configuration и активирайте безплатно хранилище на RPMFusion на вашия компютър. След това, ако сте във Fedora, направете:

$sudodnfИнсталирай ffmpeg

А за CentOS и Red Hat Enterprise Linux направете:

$sudo yum инсталирайте ffmpeg

Това е всичко за системите, базирани на Fedora и Red Hat, той е инсталиран.

Във всички версии на Debian (и всички производни) и Ubuntu преди 16.04 трябва да получите статично изграждане на FFMpeg от официалния уебсайт. Отидете на https://ffmpeg.org/download.html#build-linux и по -долу Статични компилации на Linux , кликнете върху 32-битов и 64-битов за ядро ​​2.6.32 и по-нови . След това, по -долу освобождаване: X.X.X , изтеглете съответния архив, извлечете го и можете да стартирате изпълними файлове, разположени в извлечена папка чрез CLI.

За тези, които използват Ubuntu 16.04 и по -нови версии, е по -лесно, просто направете:

$sudo apt-get install ffmpeg

Фу! Най -накрая трябва да сме готови! Преди да продължите, тествайте за последен път с:

$ffmpeg -версия

ffmpeg версия X.XXXXXXXX Copyright (c) 2000-2018 разработчиците на FFmpeg

Създавайте видеоклипове от много изображения

И така, за първия ни пример ще създадем видеоклип от Изображения, където всяко изображение представлява кадър, който ще се показва за 33 милисекунди. Нека първо ви покажа командата.

** MP4 и H.264 са патентовани кодеци, моля проверете дали имате право да кодирате с него. **

$ffmpeg-r:v30 -i 'Пингвини - %05d.png'-кодек: v libx264-предварително зададеномного бавно
-pix_fmt yuv420p-crf 28 -ан 'Penguins.mp4'

Добре, как работи това? За да работи тази команда, трябва да имате много рамки, където всеки кадър е файл като Penguins - 00043.png. След това тази команда ще комбинира всички кадри в ред със скорост 30 FPS. И така, Penguins - 00043.png идва преди Penguins - 00044.png във видеото и ffmpeg ще го уважи. Така че, ако имате 120 кадъра, видеоклипът ви ще продължи 4 секунди.

Има няколко изисквания относно формата, ширината и височината, за да могат рамките да работят. Ако не спазвате тези правила, ffmpeg може да игнорира някои изображения или да отмени процеса на създаване на видео. Така:

  • Всички кадри в едно и също видео трябва да споделят:
    • Ширина, височина
    • Дълбочина на цвета
  • Кадрите трябва да са със стандартен размер на видеоклипа, като например:
    • 640 ✕ 360 (360p)
    • 853 ✕ 480 (480p)
    • 1280 ✕ 720 (720p)
    • 1920 ✕ 1080 (1080p)
    • 4096 ✕ 2306 (4K)
  • Предпочитайте рамки в PNG, а не в JPG
  • Избягвайте прозрачност или алфа във формат PNG

След това командата ще отнеме известно време, за да преобразува видеото, да оптимизира неговата производителност и да ви направи MP4 файл на име Penguins.mp4.

Сега може да искате да имате неподвижно изображение, останало за повече от 33 милисекунди. В този случай видеоклипът ви е по -скоро слайдшоу и не е същата работа. За да направите това, първо можете да дадете по -бавна скорост на кадрите за входа и след това да кажете на ffmpeg да дублира кадрите в изхода. Не, YouTube и Vimeo няма да оценят наистина 0.5 FPS видео, дори ако промените изображението си на всеки 2 секунди.

Нека да направим това по -скоро:

$ffmpeg-r:v1/5 -i 'Пингвини - %05d.png'-r:v30-кодек: v libx264-предварително зададеномного бавно
-pix_fmt yuv420p-crf 28 -ан 'Penguins.mp4'

Ето! ffmpeg ще накара всяко ваше изображение да се появи за 5 секунди, но във видео с 30 кадъра в секунда. Не се притеснявайте за предупреждението за дублиращи се кадри: това е, което искате.

Заключение

Сега вие сте - новият Спилбърг - в състояние да създавате свои собствени видеоклипове. Можете да направите просто слайдшоу или да подготвите видео кадър по кадър, като използвате редактор на изображения, като GIMP, но също така можете да се възползвате от големия набор от ефекти и кодеци, които можете да намерите във ffmpeg.

Отделете време да експериментирате сами - все пак си художник - и създайте видеоклип, който ще направи милиони гледания в YouTube!