FFmpeg не має графічного інтерфейсу і управляється командами з консолі. Багато користувачів працюють з ним, копіюючи потрібні команди з інтернету, не розуміючи, що значить той чи інший прапор. Навчимося усвідомлено працювати з FFmpeg на прикладі кількох корисних команд.
Отримуємо інформацію про фото
Тут все просто, вводимо шлях до файлу, отримуємо інформацію про ньому за допомогою найсучасніших кількість доріжок, дозвіл, бітрейт і фреймрейт. Ми вказуємо шляхи до файлів прапором -i (input):
-i file1.mp4 -i file2.mp4.
Конвертуємо в mp4
У порівнянні з попередньою командою додалося три поля.
Список підтримуваних вашим ffmpeg кодеків можна отримати через ffmpeg -codecs.
Замість -vcodec зустрічається запис -codec: v і -c: v. Якщо не вказати кодеки для конвертації ffmpeg -i flashvideo.flv output.mp4. то ffmpeg встановить дефолтні кодеки для формату файлу на виході.
При конвертації задають не тільки кодеки. Збільшимо число налаштувань:
Решта три параметра - це фреймрейт -r 25 в кадрах в секунду, формат YUV рівна звичайного значення yuv420p і частота дискретизації звуку 44100 Гц. Прапор -y потрібен для перезапису файлу, якщо він вже існує.
Фільтри. міняємо дозвіл
Ми використовували прапор -vf. вказавши фільтр scale і дозвіл 640: 480. Цей фільтр може зберігати пропорції і обчислювати дозвіл динамічно.
Об'єднання фільтрів. прискорюємо відтворення
Ми об'єднали кілька фільтрів в один прапором filter_complex і отримали прискорений в два рази файл. Щоб розібратися застосуємо фільтри поодинці.
Додавши filter_complex і застосувавши обидва фільтра, ми прискорили файл цілком.
Склеюємо файли в один
Виконаємо ту ж операцію іншим методом:
У FFmpeg є елементи, які читають або записують медіа в певних форматах. Вони називаються демультиплексор і мультиплексор. -f concat - це демультиплексор, який приймає текстовий файл, зі списком медіа файлів і склеює їх в один. Подивитися інші елементи можна командою ffmpeg -formats.