Графичните среди за удобна работа с FFmpeg

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Работата в конзола се счита за по-ефективна от работата в графичен потребителски интерфейс по няколко причини. Първо, въвеждането на команди е по-бързо, отколкото преместването на курсора. Второ, централният процесор, паметта и графичният процесор не са натоварени от графичната среда, така че всички процеси се изпълняват по-бързо в конзолата.

Но има хора, които винаги ще предпочитат графичния потребителски интерфейс. Те виждат графичния интерфейс като „най-ефективния и удобен начин за работа на работния плот“. Всъщност те са прави в много отношения, включително за специфичните задачи за обработка на видео, при които е важно резултатът веднага да се види.

FFmpeg е първоначално и по принцип конзолна програма. Но нейната популярност е изключително висока. Ето защо се появяват нови варианти на графични среди за FFmpeg, за да могат абсолютно всички потребители да получат удобен достъп до този наистина изключително полезен инструмент.

Тази конзолна програма обединява в един двоичен файл над 300 видео/аудио/графични кодека, декодери, муксери, демуксери и филтри за обработка/компресиране/редактиране на аудио и видео. Универсалната комбинирана програма FFmpeg има абсолютно всички възможни функции, а документацията само за тази програма е толкова добра, колкото и за Photoshop. Така например в популярната безплатна книга с ръководство за FFmpeg има повече от хиляда страници. Освен това има библиотеки, API и различни компоненти.

Вече споменахме неограничените възможности на FFmpeg върху конкретни примери. Можем да дадем един пример от ръководство за напреднали, за да оценим нивото на гениалност на FFmpeg. Ето го и него:

ffmpeg -y  \
    -ss 20 -t 60 -i bbb_sunflower_1080p_60fps_normal.mp4 \
    -i train.jpg \
    -ss 4 -i voice_recording.wav \
    -filter_complex "[0:v]hue=h=80:s=1[main] ; [1:v]crop=w=382:h=304:x=289:y=227[train] ; [main][train]overlay=x=200:y=200,vignette=PI/4 ; [2:a]volume=1.5,aecho=0.8:0.9:100:0.3[speech] ; [0:a][speech]amix=duration=shortest,asplit[audio1][audio2]" \
    -map '' -map '[audio1]' -metadata title="Editor's cut" bbb_edited.mp4 \
    -map '[audio2]' bbb_edited_audio_only.wav

Тази команда прави следното, наред с други неща:

  1. Отваря файла.
  2. Изрязва фрагмент (-ss 20 -t 60).
  3. Налага изображението train.jpg.
  4. Изрязва наслагваното изображение (crop).
  5. Добавя ефект на винетиране при ъгъл PI/4.
  6. Прилага филтър за оттенък.
  7. Прилага допълнителната аудио писта voice_recording.wav.
  8. Увеличава силата на звука.
  9. Добавя ехо.
  10. Експортира резултата в различни формати.
  11. Експортира оригиналния аудиозапис.

Една команда в конзолата замества десет минути редактиране в Premiere Pro!

Естествено, никой не може да научи и запомни всички възможни ключове и опции на FFmpeg. Всички ние се вглеждаме в документацията. Но има и друга възможност: използвайте графични среди, които опростяват базовото редактиране във FFmpeg и силно намаляват прага на влизане.

FFmpeg Explorer

FFmpeg Explorer (ffmpeg.lav.io) е удобен инструмент, с който можете да научите как работят различните филтри на FFmpeg, които са десетки. Това са различни специални ефекти, преходи и други начини за модифициране на аудио- и видеоматериали.

Графичните среди за удобна работа с FFmpeg

Алгоритъмът за работа е съвсем опростен:

  • Добавяме филтрите от списъка вляво:

Графичните среди за удобна работа с FFmpeg

Списък с филтрите е в отделен текстов файл за справка. Там е официалната документация за филтрите.

  • Кликваме върху филтрите в редактора на възлите, за да променим параметрите.

Графичните среди за удобна работа с FFmpeg

  • Кликнете върху Render Preview. Резултатът се показва в браузъра.

Разбира се, можете да качите свой собствен файл в интерфейса и да го редактирате. Бруталният видеоклип по подразбиране е публикуван единствено с цел популяризиране.

За да редактирате схемата долу, трябва да натиснете бутона Lock Layout (Заключване на оформлението) – тогава елементите започват да се движат по полето и връзките между тях могат да се променят ръчно. Там можете да промените реда на прилагане на филтрите и т.н.

Авторът предупреждава, че това все още е експеримент, приложението е нестабилно, често се срива (след което трябва да бъде рестартирано) и стартирането му на мобилни устройства не е гарантирано. В Github могат да се подават съобщения за грешки.

FFMPEG UI

FFMPEG UI (ybouane.com/ffmpeg-ui) изобщо не е уеб приложение, а нативна програма, която е достъпна във версии за macOS, Windows и Linux. Разработчикът се е фокусирал върху максимално лесната употреба и ясния интерфейс.

Просто отваряте файла и задавате настройките на видеото за конвертиране:

Графичните среди за удобна работа с FFmpeg

Същото важи и за настройките на звука:

Графичните среди за удобна работа с FFmpeg

…и трябва да почакаме обработката:

Графичните среди за удобна работа с FFmpeg

Като цяло това не е толкова редактор, колкото обикновен конвертор, базиран на FFmpeg, ако трябва да конвертирате файл в друг формат. Е, такива инструменти също са необходими.

Въпреки че от техническа гледна точка тук няма нищо интересно. Бинарният код на FFmpeg е просто опакован в Electron, изходният код е затворен.

От гледна точка на функционалността тази графична среда отстъпва много на Staxrip и другите видео редактори, базирани на FFmpeg, изброени по-долу. Какво да кажем, дори добрият стар Handbrake изглежда по-удобен.

ffmpeg-online

Уеб приложението ffmpeg-online (https://ffmpeg-online.vercel.app) не се базира на оригиналния FFmpeg, а на приложението ffmpeg.wasm, разклонение на WebAssembly/JavaScript на оригиналния проект. Идеята е, че функциите на FFmpeg трябва да се поддържат в браузъра по естествен начин. Това е едно съвсем ново ниво.

Графичните среди за удобна работа с FFmpeg

От гледна точка на практическата употреба тази „графична среда“ не се различава много от обикновената конзола. Ако например искаме да изрежем и запазим част от видео в конзолата FFmpeg, пишем нещо подобно:

ffmpeg -i test.mp4 -ss 00:00:00 -t 00:00:05 -vcodec copy -acodec copy output.mp4

В уеб приложение това изглежда по същия начин:

Графичните среди за удобна работа с FFmpeg

Това означава, че това приложение не улеснява работата с FFmpeg, а има съвсем друга цел. Това е експеримент за нативна поддръжка на WebAssembly и JavaScript форк.

VapourSynth и други

VapourSynth (vapoursynth.com) не е точно „графична“ среда. Това е видео редактор на Python, който използва FFmpeg и осигурява по-добър интерфейс за редактиране на видео от нативната конзола. Той може да се нарече „Python shell for FFmpeg“. Съществува обширен каталог от плъгини за VapourSynth, който значително разширява функционалността на „основния“ FFmpeg.

Графичните среди за удобна работа с FFmpeg

Съществуват и нишови видео редактори, базирани на FFmpeg, като LosslessCut (github.com/mifi/lossless-cut) за бързи операции за редактиране на аудио и видео, като слепване на фрагменти, разделяне на части или изрязване на фрагменти. Ключовата особеност е, че не се извършва транскодиране. Затова операциите са почти мигновени и без загуба на качество, за разлика от продължителното транскодиране в традиционните видео редактори.

Графичните среди за удобна работа с FFmpeg
LosslessCut

Заслужава да се спомене мощният видео редактор Staxrip (github.com/staxrip/staxrip) – това е мястото, където е вграден цялата функционалност на FFmpeg.

Графичните среди за удобна работа с FFmpeg
Staxrip

FFmpeg работи под капака на Shotcut, KDEnlive и други видео редактори с отворен код. Всички те са в известен смисъл „графични обвивки“ за основния енджин.

Графичните среди за удобна работа с FFmpeg

FFmpeg 6.1

Междувременно самият FFmpeg продължава да расте и да се развива. Наскоро излезе версия 6.1 на Heaviside.

Някои нововъведения:

  • Възможност за активиране на Vulkan API за хардуерно декодиране на H264, HEVC и AV1 видео
  • Добавен е VAAPI-базиран AV1 видео енкодер.
  • Поддръжка на HEVC, VP9 и AV1 кодеци в rtmp потоци и flv файлове.
    Добавени са анализатор, енкодер и декодер на медийни контейнери във формат EVC (Essential Video Coding), разработен от работната група MPEG като MPEG-5 стандарта.
  • Внедрена е възможност за използване на параметрите P_SKIP за ускоряване на кодирането на видео от библиотеката libx264.
  • Добавени са нови видеофилтри, включително BWDIF (Bob Weaver Deinterlacing Filter), nlmeans_vulkan (отстраняване на шума с помощта на алгоритъма Non-local means), xfade_vulkan (ефект на затихване), apsnr (измерва нивото на сигнала към шума за аудио).

А това са основните оптимизации:

  • Имплементацията на FFT, MDCT, DCT и DST за кодеци и филтри е изцяло заменена с по-бързата libavutil/tx. Това доведе и до намаляване на размера на компилираната двоична програма, което е особено забележимо при малките компилации.
  • Общият брой на разпределенията на паметта за един кадър по време на декодирането на видео е много драстично намален, което намалява режийните разходи.
  • Оптимизациите на RISC-V за много части от кода на DSP бяха обединени. По същество останаха само големите декодери.
    Извършена е много добра работа за подобряване на коректността на времевите маркери и продължителността на кадрите във всеки пакет, което подобрява точността на видео с променлива кадрова честота.

Тази версия се подготвяше най-малко половин година, но поради постоянната активност в хранилището се наложи да бъде отложена и едва през ноември 2023 г. стана възможно да се намери време за нейното излизане, преди да се инжектират в кодовата база някои от големите поправки, планирани за 7.0.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

Нови ревюта

Подобни новини