Comments 76
Есть еще handbrake, который под капотом тоже ffmpeg по сути использует
читая заголовок, сразу подумал, что конечно будет список, в котором победит handbrake, но статья с одной стороны приятно удивила вещами, о которых не знал, но внезапно ничего не написала про самый известный GUI на ffmpeg :)
Потому, что HandBrake не является GUI для FFmpeg, о чем его разработчики прямо заявляют. Он использует те же компоненты, что FFmpeg, но не его самого.
Это самобытный продукт с крайне скудным по сравнению с FFmpeg функционалом. HandBrake не умеет копировать потоки без перекодировки, добавлять сторонние дорожки, работать с нечётным разрешением, даже открыть такой файл не может. Поддерживает очень мало выходных форматов.
Аудиопоток копировать умеет. А если вам нужно копировать видеопоток, то зачем тогда вообще handbrake?
Чтобы не терять в качестве видео без причины, когда нужно перекодировать только звук, например из mp3 в aac. Или сменить контейнер, например с MP4 на MPEG-TS. В работе с видео для web это очень частые задачи, а HandBrake в них бесполезен.
Так handbrake это инструмент для конвертирования видео. И как раз для описаных задач он да, бесполезен, потому что создан не для них.
Нет, HandBrake - это инструмент для сжатия видео. Он не умеет не сжимать. А смена контейнера или кодирование звуковой дорожки - это тоже конвертация, на которую он уже не способен. В отличие от любого настоящего конвертера использующего FFmpeg.
Не сжимать, если это можно, хорошо даже не только потому, что при этом не теряется качество. Просто скопировать несколько (десятков) гигабайт какого-нибудь H.265 в разрешении 4К будет на порядки быстрее, чем их перекодировать, даже без визуальной потери качества.
Pоtayto, potahto. Я вам именно это и написал.
Почему он должен победить? Он даже не может нормально конвертировать вертикальное видео. Или обрежет, или растянет в ширину.
Скажу от себя так: тот, кто снимает вертикальные видео, должен страдать :) Я бы даже не стал это как баг в трекере заводить, сразу бы разворачивал :)
Тот, кто снимает вертикальные видео, и тот, кто их обрабатывает, вовсе не обязательно один и тот же человек.
А как же шортсы, рилсы, видео в тик ток? Сейчас это самое популярное направление, какое только есть. Если редактор не умеет работать с вертикальными видео, то это прям большое упущение
Очень рад услышать ваше мнение о вертикальных видео. Теперь можете засунуть его обратно в свой вертикальный слот.
Одна команда в консоли заменяет десять минут редактирования в Premiere Pro!
Одна команда в консоли заменяет нажатие кнопки Run (или как там она называется) в этом самом Premiere Pro. Остальные 10 минут пойдут на подбор волшебных цифр в параметрах фильтров ;)
на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.
Если комп с трудом тянет графическую оболочку - боюсь что с редактированием видео будут большие проблемы ;)
Зато можно сочинить команду которая будет конкатенировать видео и фигачить таймлапсы прямо с памяти подключенного видеорегистратора.
Одно дело, когда нужно что-то с видео сделать один раз. А если надо несколько десятков раз единообразно обработать кучу разных роликов, то скрипт в консоли нужно будет делать 10 минут только для первого ролика. Adobe Premiere Pro умеет 100 роликов нажатием одной кнопки обработать по одному сценарию?
Примерно как тут, например: наложить один и тот же логотип, одинаково обрезать кадр, изменить разрешение и сжать в какой-то выходной формат.
У ffmpeg нечеловеческий синтаксис и нечеловеческая документация. Поэтому мне очень нравится идея очеловечивания в виде первой задумки для более простой подборки параметров (ffmpeg explorer).
У ffmpeg великолепная документация и кукбук на все случаи жизни.
Искал основную функцию ffmpeg: захват экрана и звука в винде. Экран захватить смог, а звук так и не осилил. Причём ffmpeg -list_devices true -f dshow -i dummy
возвращает пустой список и нигде ничего об этом не пишут.
В общем не так всё просто)
Возможно вам сможет помочь "VB-Audio Virtual Cable":
https://habr.com/ru/companies/flashphoner/articles/568664/
виртуальное аудиоустройство, работающее как виртуальный аудиокабель
Можно загуглить что-нибудь вроде "как с помощью ffmpeg обрезать mp4 без пересжатия". Выдаст готовые примеры использования.
Format Factory вроде бы тоже основан на FFmpeg?
Кто-нибудь знает, можно ли с помощью FFmpeg удобно автоматизировать перекодирование видео на базе WatchFolder , примерно как это сделано в Adobe Media Encoder?
Суть такая: создаем N папок с говорящими названиями, например "h265,1080p,7mbps" , для каждой папки настраиваем пресет кодирования. Программа следит за наличием файлов внутри каждой папки, при появлении файла (или можно и по человеческому клику мышкой) автоматически кодирует видео с тем пресетом, который привязан к папке. Выходные файлы кладёт в поддиректорию /out , к примеру.
Ого! Спасибо автору за статью!
Пробовали мы этот ffmpeg, пытался настроить граббинг видео. То одно работает, то другое, а чтоб вместе... Вопли страждущих по всему инету... В результате плюнул, нашел другую программу и всё сделал.
Теперь можно будет попробовать оболочки.
Что, если не секрет, вы нашли в качестве альтернативы? Без сарказма, просто на ум приходит крайне малое количество альтернатив вроде vlc и gstreamer
Вот это.
https://ocam-screen-recorder.ru/
Ну там надо было чтоб плеер не понял, что его грабят, для этого пришлось сделать пару па с бубном.
Вы не поверите, но у ней внутре неонка тоже FFmpeg. Ну и майнеры впридачу.
license_english.rtf
[Supplementary Provisions]
oCam is running as a sponsored program.
Sponsored program BRTSvc, ANTSvc is a cryptocurrency miner and is a sponsor program that utilizes system resources only when the PC is idle to minimize user inconvenience.
If the user is not comfortable with the sponsor program, delete BRTSvc, ANTSvc from Add / Remove Programs in the Windows Control Panel.
Можно еще и FFmpeg Batch AV Converter добавить в копилку. Очень приятная софтина.
Считается, что работа в консоли эффективнее GUI по нескольким причинам.
Считается, что выбор интерфейса зависит от задач. Если мне надо перекодировать сотни файлов с одинаковыми параметрами, то я не буду жать кнопочки мышкой.
Но если мне надо отредактировать видеофайл и при этом видеть, что я делаю, я не буду гонять в консоли команду и потом смотреть на результаты "мало... мало.. много...". Я в видеоредакторе предпочту подрезать, добавить переходы и т.п. а потом нажать кнопку рендера.
Одна команда в консоли заменяет десять минут редактирования в Premiere Pro!
Только вы эту команду будете придумывать методом проб и ошибок, не видя результата. Принцип "лучше день потерять, а потом за пять минут долететь" работает только тогда, когда вам регулярно летать надо. Если это одноразово, то лучше дойти пешком за часик, а не подбирать весь день параметры для командной строки.
Что, впрочем, и доказывают инструменты из вашей статьи.
FFmpeg Explorer мне чем-то напомнил AviSynth, где тоже цепочку фильтров составлять надо было.
Плюс в GUI есть много хоткеев которые работают быстрее набора команд в консоли. И часто их можно настроить на свои действия. Сегодя в Индизайне буклет дорабатывал, мышкой пользовался примерно 10-15 % времени.
AVISynth - очень мощный инструмент. Но у него есть свои ограничения и недостатки по сравнению с ffmpeg.
Ещё бы добавили в brew нормальный билд ffmpeg с поддержкой gpu. А то приходится самому страдать со сборкой.
Ковыряю сейчас обвёртку avcpp. Реально мощная штука.
OBS (Open Broadcaster Software) для захвата + Blender в режиме Video editing.
Оба используют части FFmpeg.
Лучшее гуи для ffmpeg это ChatGPT. Скармливаешь ему информацию о исходных файлах, спросив у него же как ее получить. Говоришь что хочешь сделать и всё.
MeGUI - обертка для FFmpeg, AviSynth, MKVToolNix.
MeGUI рекомендовали для конвертации дорожек и устранения рассинхрона аудио. У меня ничего с ним не вышло...
Можно ещё упомянуть Shutter Encoder - незаменимая вещь при подготовке материала к видеомонтажу, когда видео предоставляют в экзотических кодеках.
Считается, что работа в консоли эффективнее GUI
Кем?
Кем угодно, но зависит от задачи. Например, если надо одинаковым образом сотню видеофайлов обработать, это куда быстрее сделать скриптом, чем по одному каждый открывать в GUI, настраивать для каждого обработку и рендерить выходной файл.
Зачем открывать по одному, когда можно всю сотню закинуть в очередь и настроить в гуи параметры.
Я просто не в курсе, позволяет ли Adobe Premiere делать batch processing - например, указать папку с исходными файлами, выбрать цепочку обработки, затем указать выходную папку и нажать кнопку "Обработать всё"?
Adobe Premiere в принципе не предназначен для таких вещей. Это программа для монтажа. Для кодирования служит Adobe Media Encoder. Но он позволяет только настроить watch folder, при попадании файла в которую запускается перекодировка в настроенный формат.
Мной.
Если задачка разовая, то, разумеется, эффективнее в ГУЙ потыкать. А вот если потоооок...
Было год назад: жена попросила коллекцию из почти трёх сотен ютубов к одному "знаменателю" привести, чтобы на стареньком плеере посмотреть (не спрашивайте ;) )
После второго-третьего тыканья мышом в ГУЙ я сказал "нахрен!" и сговнякал баш, который по очереди перебирает ролики и те, что требуют переконвертации (размер, аудио кодек, иногда - видео кодек), переворачивал ffmpeg-ом в нужное состояние.
Запустил за ужином, утром проверил - всё ОК
Если поток, то грамотно написанное GUI и это позволит сделать быстрее. Например просто запоминая необходимую конфигурацию и позволяя управлять сохраненными конфигурациями.
В любом случае продуманный интерфейс программы позволяет выполнять задачи нагляднее, проще, быстрее, и совершать меньше ошибок. Просто это большая работа, которую не делают бесплатно. А в результате пользователь все равно платит, только уже своим временем.
Virtualdub FFMpeg Input Plugin можно считать тоже GUI :)
Разработчики программ выкатывают сильный инструмент, но чтобы освоить его могущество надо проштудировать 1000 страниц. Дружественный интерфейс заканчивается интуицией фронтендера. Эту прослойку надо делать с помощью ИИ.
Просто И пользователя уже не годится? Может, просто слово "лень" мешает? :-)
Любой GUI делается так, чтобы с его помощью определенный набор задач было удобно решать. Даже если внутри нет никакого FFMPEG.
Есть большая программа, называется линукс её строители мечтают охватить своими идеями массы, но обратная связь не идет дальше форумов с бесконечными выяснениями условий и обстоятельств пользования столь хорошего инструмента. Я тоже не люблю винду, а люблю быть хозяином положения, но разгрызать логику юникса вручную слишком обременительно.
В этой программе GUI запретили?
Не знаю, о каких Вы мечтах - там, где нужно, эта "программа" работает и свои функции выполняет. Про какие форумы и якобы не идущую обратную связь, мне тоже непонятно.
Ну как же! Сто первых дистростроителей добиваются любви юзеров. Какие только ГУИ не прикладываются, увы, само количество этих попыток говорит о том, что эволюция общения с машиной только началась.
Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором.
Набрать команду для кого нибудь может быть и быстрее чем сдвинуть курсор, но я отношусь к тому типу пользователей, для которых нужно потратить уйму времени на поиск это команды в Google, чем сдвинуть курсор.
Консольно точно быстрее, если надо сконвертировать пачку файлов.
Во всех других случаях GUI выигрывает удобством и наглядностью.
Не всегда. Например, если для настройки всех параметров в GUI надо открыть/отредактировать/закрыть пару десятков окон, чтобы задать все параметры, а в скрипте - написать несколько строчек.
Графические оболочки FFmpeg