В съвременния свят с YouTube и други приложения за социални медии като основен начин за гледане на цифрови медии, качването на видеоклипове се превърна в обичайна практика. Всъщност стана толкова често, че създаването и редактирането на аудио и видео файлове се превърнаха в новата норма в рамките на само няколко десетилетия. Очевидно има скъпи инструменти, които човек може да си купи, за да задоволи нуждите си, но какво, ако можем да направим това безплатно? Ами ако няколко реда код могат да изпълнят почти всяка свързана с видео задача, която ви е необходима?
Ffmpeg е безплатен инструмент за преобразуване, извличане и редактиране на видео с отворен код, който дава отговор на този въпрос! Какво не може да направи ffmpeg? Почти нищо. Задачите, които могат да бъдат изпълнени с помощта на ffmpeg, включват конвертиране на аудио файлове, преобразуване на видео файлове, преобразуване на снимки, извличане на файлове с изображения от видео файлове, генериране на видеоклипове от файлове с изображения, извличане на аудио от видео, изрязване на видеоклипове и снимки, изрязване на видеоклипове, повторно -размер на видеоклипове, увеличаване на силата на звука и създаване на екранни записи.
Инсталиране на FFmpeg в Ubuntu
Ffmpeg не е предварително инсталиран в Ubuntu по подразбиране, така че първо ще трябва да инсталирате тази програма, за да я използвате. За да завършите инсталацията, трябва да сте потребител на root. След това въведете следното, за да инсталирате FFmpeg:
sudo apt-get инсталирайте ffmpegThe apt-get инсталиране команда ще работи за всички версии на Ubuntu с изключение на 14.04.
Аудио конверсия
Преобразуването на типа файл на аудио файл може да се извърши в един ред код с помощта на помощната програма ffmpeg. В този случай трябва да предадете само два параметъра: името на оригиналния файл и името на новия файл. Тази команда ви позволява да конвертирате всеки файлов формат във всеки друг файлов формат, като автоматично откривате типовете файлове по име. Като такъв не е необходим допълнителен код за определяне на типовете файлове.
ffmpeg -i първоначален_файл.mp3 convert_file.mp4Можете да добавите свои собствени имена и типове файлове към този ред от код. Това е само основният синтаксис за използване.
Видео конверсия
Можете също да конвертирате типове видео файлове с помощта на ffmpeg. Когато въвеждате командата, всичко, от което се нуждаете, е името на оригиналния файл и името на изходния файл. Тагът -i означава входния файл.
ffmpeg -i оригинален_файл.mp4 convert_file.webmПреобразуване на снимки
Това, което е вярно за видео и аудио файлове, се отнася и за файлове с изображения. Можете да конвертирате един снимков формат в друг формат бързо и лесно с ffmpeg, просто като използвате синтаксиса, показан по-долу:
ffmpeg -i оригинален_файл.jpg convert_file.pngИзвличане на изображение от видео файл
Ffmpeg може да се използва и за извличане на изображения от видео файлове. С други думи, тази програма може да прави екранни снимки в точно време по време на видео и да записва екранните снимки като колекция от файлове с изображения. Например:
ffmpeg -i видео.mp4 output_file.jpgВ този случай тагът -i изобразява видео файла, от който ще бъдат извлечени графичните файлове. Все пак все още не сме дали на програмата никакви спецификации по отношение на качеството на изображението или времето на екранна снимка. И така, първо е необходимо да посочите тези подробности, преди да въведете кода.
Ако напишем следното:
ffmpeg -i видео.mp4 output_file% d.jpgСтойността% d след името на изходния файл представлява променлива, която можете да персонализирате според броя на кадрите в секунда, които искате да генерирате от видеото. Когато снимките се генерират с един кадър в секунда, всяка снимка ще бъде обозначена с output_file1.jpg; при два кадъра в секунда, output_file2.jpg; при три кадъра в секунда, output_file3.jpg; и т.н. Ако филмът има 35 кадъра в секунда и е дълъг една секунда, тогава придаването на променлива% d на стойност 1 ще генерира 35 снимки.
На следващо място, ако искаме да заснемем изображенията с определена скорост на кадрите в секунда? Стойността на fps определя това в синтаксиса ffmpeg. За да заснемете 1 кадър в секунда, бихте задали стойността на fps, равна на 1.
ffmpeg -i видео.mp4 -vf fps = 1 output_file% d.jpgПо същия начин, като дефинираме стойността на fps на 1/6000, следната команда ще генерира 1 изображение на 6000 секунди видео:
ffmpeg -i видео.mp4 -vf fps = 1/6000 output_file% 6d.jpgВ горната команда терминът% 6d ще генерира променлива с шест цифри. Изходните файлове ще бъдат обозначени както следва: output_file000001.jpg, output_file000002.jpg и т.н.
Сега, да предположим, че не искате да заснемете всички кадри. Вместо това искате да бъдете по-селективни и искате да заснемете определен брой изображения между два времеви интервала. Тогава синтаксисът ще изглежда по следния начин:
ffmpeg -ss 00:00:01 -t 00:00:04 -i видео.mp4 output_file% 3d.jpgТози код ще заснема изображения, започващи в 00:00:01, за 4 секунди. С други думи, заснемането на изображението ще започне в 00:00:01 и ще приключи в 00:00:05 във видеото. Както обикновено, номерът в името на изходния файл ще има три цифри (т.е.д., изходна_файл001.jpg, output_file002.jpg и т.н.).
Генериране на видео от файлове с изображения
Ами ако искате да направите точно обратното и да съберете изображения, за да оформите видео? Ffmpeg отново идва на помощ!
ffmpeg -r 1/5 -i img% 03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p output_file.mp4След като прочетете предишните раздели, вече знаете какъв е терминът img% 03.png означава - изходните файлове с изображения, които да се компилират във видеото. В този синтаксис тагът -c: v представлява кодека за видеото, fps представлява стойността на кадрите в секунда и r представлява честотата на кадрите на изходното видео.
Извличане на аудио от видео
Какво ще кажете за извличане на аудио файлове от видео файл? В мрежата има инструменти, които можете да използвате за изпълнение на тази задача, но с ffmpeg един ред код може да свърши работата също толкова добре.
ffmpeg -i видео.mp4 -c: a libmp3lame -q: a 0 -карта на изходен_файл.mp3В горния синтаксис, видео.mp4 е входният видео файл и изходният_файл.mp3 е изходният аудио файл. Тагът -map взема звуковия поток по подразбиране и изключва всякакви субтитри, c: a определя кодека за аудиото, което ще се използва, и q: a определя променлива битрейт за аудиото.
Ако искате да извлечете само част от аудио файла от видео файл, можете да използвате следния синтаксис, за да го направите. В следния код се извлича само частта от звука между 00:00:08 и 00:00:10:
ffmpeg -i видео.mp4 -ss 00:00:08 -t 00:00:10 -q: a 0 -c: a libmp3lame -q: a 0 -карта на изходен файл.mp3Очевидно има много повече подробности, които можете да добавите, ако желаете, но горният пример е чудесна отправна точка.
Изрязване на видеоклипове и снимки
Ами ако искате да изрежете видеоклипове? Можете или да отделите време и пари, за да намерите софтуер за изрязване на друго място, или да използвате един ред код с ffmpeg, за да изрежете видеото по размер.
ffmpeg -i видео.mp4 -filter: v "crop = w = width: h = height: x: y" output_file.mp4Например:
ffmpeg -i видео.mp4 -filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.mp4Като пример направих своя снимка и се опитах да я изрежа със следния код:
Подрязване на видеоклипове
Подрязването на видеофайловете изисква изрязването им от едно конкретно време на друго определено време. Например, изрязването на видео файл на два или три сегмента би го подстригало. Отново подрязването на видео или аудио файлове може лесно да се направи с помощта на ffmpeg.
ffmpeg -i видео.mp4 -ss 00:00:20 -t 00:00:10 -c: v h264 -c: aac output_file.mp4В този случай етикетът -ss означава начално търсене или времето, в което да започне процесът на подрязване. В горната команда ще започнем да режем или подрязваме в 00:00:20. Тагът означава продължителността на клипа. Тук продължителността на изрязания клип ще бъде 10 секунди. И накрая, етикетът c: v е за кодека на използваното видео, докато c: a е за използвания аудио кодек.
Преоразмеряване на видео
Преоразмеряването на видеоклипове е също толкова лесно, колкото и подрязването и изрязването на видеоклипове.
ffmpeg -i видео.mp4 -vf мащаб = 320: 240 изходен файл.mp4Като алтернатива можете да направите и следното:
ffmpeg -i видео.mp4 -vf scale = "iw / 1: ih / 2" output_file.mp4Тук стойността iw определя входната ширина, докато ih определя височината на въвеждане. Последният също ще го мащабира.
Увеличете обема на видеото
В тази статия сте видели как да изрязвате, подрязвате и конвертирате видео и файлове с изображения, но какво ще кажете за увеличаване на обема на аудио и видео файлове?
ffmpeg -i видео.mp3 -filter: изходен файл „том = 2“.mp3В последния случай смирено искаме ffmpeg да удвои обема на файла.
Създаване на запис на екрана
Записването на екрана ви е задача, която често е необходима за изпълнение, независимо дали става въпрос за презентации, видео споделяне или онлайн срещи. Каквато и да е причината за запис на вашия работен плот, обикновено трябва да стартирате някакъв софтуер, за да го направите. За разлика от скъпите алтернативи, ffmpeg може да направи това за вас безплатно!
ffmpeg -f gdigrab -кадър 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i audio = "Stereo Mix (Realtek Audio)" output_file.mp4В горната команда, тагът -f представлява формата на видеозаписа на вашия екран. Следвайки стойността на звука, ще поставите аудио източника си.
В допълнение, следният код ще грабне само видеото от записа на екрана, без добавен звук:
ffmpeg -f gdigrab -рамка 30 -i работен плот -c: v libx264 -qp 0 изход.mp4Заключение
Като цяло, ffmpeg е изключително полезна програма, която ви позволява да постигнете доста неща в един ред код. Можете да закупите скъпи инструменти онлайн, за да задоволите вашите нужди за редактиране, или можете да изпробвате тези функции безплатно, като инсталирате помощната програма ffmpeg.