За кілька останніх років рівень програмного забезпечення піднявся настільки, що з його допомогою навіть без особливих знань ти можеш займатися будь-чим: писати музику, знімати та монтажувати відео, проектувати 3D, створювати бази даних і т. д. І це все за неймовірно короткий час у неймовірно зручних додатках, у яких все "під руками". Звичайно, що за весь цей корисний софт переважно завжди доводиться платити немалі суми.
Але якщо ти читаєш цей блоґ, значить уже знаєш, що я завжди стараюся підказати якусь програмку, яка робить неймовірні речі, але коштує копійки або й зовсім безкоштовна. Так, сьогодні мова піде про FFmpeg – консольну програму з відкритим джерельним кодом, яка, незважаючи на відсутність будь-якого графічного інтерфейсу (це не так – є додатковий софт, що надає графічні оболонки для FFmpeg, і я про нього вже писав), має просто колосальні можливості для роботи із медіа, при цьому будучи абсолютно безкоштовною.
Інструкція із встановлення FFmpeg у Windows та Linux знаходиться внизу статті, а наразі поглянемо на можливості програми.
Можливості FFmpeg
Із фрази "консольна програма", напевно, вже зрозуміло, що всі операції програма виконує в командному рядку Windows або терміналі Linux. Пропоную тобі перелік найпростіших та найпотрібніших команд.
Конвертація відео
Просте конвертування відео з одного формату в інший:
ffmpeg -i originial_file.mov converted_file.mp4
Конвертувати із заданням параметрів конвертації (відео та аудіо кодеки). Досить хороше стиснення розміру файлу без особливих втрат якості, сам постійно використовую перед завантаженням відео в YouTube – якщо цього не зробити, сервіс сам стисне файл, але при цьому втрата якості буде значно вищою:
ffmpeg -i originial_file.mov -vcodec h264 -acodec aac converted_file.mp4
Змінити контейнер (розширення) відео без перекодування (дуже швидко):
ffmpeg -i originial_file.mov -vcodec copy -acodec copy converted_file.mp4
Стиснути відео під заданий розмір:
ffmpeg -i originial_file.mov -fs 1.5G converted_file.mp4
Конвертація відео в аудіо
Витягти аудіодоріжку з відео:
ffmpeg -i video.mp4 sound.mp3
Конвертація відео в зображення
Перетворити відео в ряд зображень:
ffmpeg -i video.mp4 image%d.webp
В результаті виконання команди вийде задана кількість зображень. Змінна %d додає порядковий номер до назви зображення. Тобто якщо в тебе відео на 10 секунд із 30 кадрами в секунду, то в результаті виконання команди буде створено 300 зображень із назвами image1.webp, image2.webp, image3.webp ... image300.webp.
Якщо ж ти хочеш витягти картинки з частотою, наприклад, по 2 кадри за секунду, задавай отаку команду:
ffmpeg -i video.mp4 -vf fps=2 image%d.webp
Або 1 кадр кожних 10 секунд:
ffmpeg -i video.mp4 -vf fps=1/10 image%d.webp
Обрізка відео
Обрізати початок відео, наприклад, з десятої секунди, можна отак:
ffmpeg -i originial_file.mov -ss 00:00:10 converted_file.mp4
А для вирізання уривка із середини відео задаємо початок та тривалість відеоуривка:
ffmpeg -i originial_file.mov -ss 00:00:10 -t 00:20:00 converted_file.mp4
Дана команда видасть відеоуривок тривалістю 20 хв починаючи з десятої секунди.
Зміна роздільної здатності відео
Уяви, що ти маєш FullHD відео з роздільною здатністю 1920x1080 пікселів, а тобі треба HD-якість – 1280x720 пікселів. Немає нічого простішого:
ffmpeg -i originial_file.mov -vf scale=1280x720 converted_file.mp4
Ще багато різних цікавих функцій може виконувати FFmpeg, та я так і сказав на початку – тут є перелік лише найпотрібніших та найкорисніших функцій. Якщо тобі стало цікаво, можеш погортати офіційну документацію додатка 😉
Встановлення FFmpeg
Windows
Для встановлення FFmpeg у Windows потрібно звантажити інсталяційний файл звідси:
Теку з архіву потрібно перейменувати в ffmpeg
та помістити в корінь диска C:
Після цього відкрити командний рядок Windows від імені адміністратора та виконати в ньому команду:
setx /m PATH "C:\ffmpeg\bin;%PATH%"
Linux
В переважній більшості дистрибутивів Linux уже є встановлений пакунок ffmpeg, якщо ж ні, то для встановлення вистачає однієї команди в терміналі.
В Debian, Ubuntu та інших схожих дистрибутивах:
sudo apt install ffmpeg
Arch Linux, Manjaro:
sudo pacman -S ffmpeg
openSUSE:
sudo zypper install ffmpeg
Fedora:
У Fedora потрібно увімкнути додаткові репозиторії:
sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
А потім встановити FFmpeg так само, як в інших дистрибутивах:
sudo dnf install ffmpeg
Solus:
sudo eopkg install ffmpeg
Висновок
Отже, ffmpeg — надзвичайно корисна програма, яка дозволяє виконувати безліч функцій в одному рядку коду. Ти можеш вибирати серед великої кількості інших програм, які виконують лише деякі з вищеперелічених функцій або коштують немалі гроші, а можеш спробувати ці функції безкоштовно і в одному невеличкому додатку, встановивши утиліту ffmpeg.
Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.