Как стать автором
Обновить

Комментарии 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. Я вам именно это и написал.

Почему он должен победить? Он даже не может нормально конвертировать вертикальное видео. Или обрежет, или растянет в ширину.

Скажу от себя так: тот, кто снимает вертикальные видео, должен страдать :) Я бы даже не стал это как баг в трекере заводить, сразу бы разворачивал :)

Тот, кто снимает вертикальные видео, и тот, кто их обрабатывает, вовсе не обязательно один и тот же человек.

А как же шортсы, рилсы, видео в тик ток? Сейчас это самое популярное направление, какое только есть. Если редактор не умеет работать с вертикальными видео, то это прям большое упущение

Все эти шорты - полная ерунда, которую нормальные люди не смотрят. А уж тикток - вообще днище для имбецилов, тем более он запрещён в России.

Очень рад услышать ваше мнение о вертикальных видео. Теперь можете засунуть его обратно в свой вертикальный слот.

Спасибо, однако тем, кому не нужно выкладывать вертикальные тиктоки, handbrake отлично подходит - т.е. все нормально.

Одна команда в консоли заменяет десять минут редактирования в 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 , к примеру.

можно ли

Можно. Вы даже расписали весь алгоритм ;)

Ffastrans

Ого! Спасибо автору за статью!
Пробовали мы этот 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 - вполне логично. А что майнер... Ну... успехов им что-нибудь намайнить на 2600К с видеокартой-затычкой. Но конечно да - о майнере в лицензионном соглашении... изящно.)))

Можно еще и FFmpeg Batch AV Converter добавить в копилку. Очень приятная софтина.

Считается, что работа в консоли эффективнее GUI по нескольким причинам. 

Считается, что выбор интерфейса зависит от задач. Если мне надо перекодировать сотни файлов с одинаковыми параметрами, то я не буду жать кнопочки мышкой.

Но если мне надо отредактировать видеофайл и при этом видеть, что я делаю, я не буду гонять в консоли команду и потом смотреть на результаты "мало... мало.. много...". Я в видеоредакторе предпочту подрезать, добавить переходы и т.п. а потом нажать кнопку рендера.

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

Только вы эту команду будете придумывать методом проб и ошибок, не видя результата. Принцип "лучше день потерять, а потом за пять минут долететь" работает только тогда, когда вам регулярно летать надо. Если это одноразово, то лучше дойти пешком за часик, а не подбирать весь день параметры для командной строки.

Что, впрочем, и доказывают инструменты из вашей статьи.

FFmpeg Explorer мне чем-то напомнил AviSynth, где тоже цепочку фильтров составлять надо было.

Плюс в GUI есть много хоткеев которые работают быстрее набора команд в консоли. И часто их можно настроить на свои действия. Сегодя в Индизайне буклет дорабатывал, мышкой пользовался примерно 10-15 % времени.

AVISynth - очень мощный инструмент. Но у него есть свои ограничения и недостатки по сравнению с ffmpeg.

Просто по интерфейсу и тому, что поток фильтров выставляется.

Так-то это совсем разные программы, хотя и могут делать какие-то идентичные вещи.

FFMPEG - самостоятельный инструмент. AVISynth - источник, который еще в другой программе открывать нужно (например, VirtualDub).

Ещё бы добавили в brew нормальный билд ffmpeg с поддержкой gpu. А то приходится самому страдать со сборкой.

Ковыряю сейчас обвёртку avcpp. Реально мощная штука.

А зачем страдать со сборкой, если можно свой brew-репозиторий завести?

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, при попадании файла в которую запускается перекодировка в настроенный формат.

Человек выше пишет: " всю сотню закинуть в очередь и настроить в гуи параметры". Речь про Media Encoder?

Мной.
Если задачка разовая, то, разумеется, эффективнее в ГУЙ потыкать. А вот если потоооок...
Было год назад: жена попросила коллекцию из почти трёх сотен ютубов к одному "знаменателю" привести, чтобы на стареньком плеере посмотреть (не спрашивайте ;) )
После второго-третьего тыканья мышом в ГУЙ я сказал "нахрен!" и сговнякал баш, который по очереди перебирает ролики и те, что требуют переконвертации (размер, аудио кодек, иногда - видео кодек), переворачивал ffmpeg-ом в нужное состояние.
Запустил за ужином, утром проверил - всё ОК

Если поток, то грамотно написанное GUI и это позволит сделать быстрее. Например просто запоминая необходимую конфигурацию и позволяя управлять сохраненными конфигурациями.

В любом случае продуманный интерфейс программы позволяет выполнять задачи нагляднее, проще, быстрее, и совершать меньше ошибок. Просто это большая работа, которую не делают бесплатно. А в результате пользователь все равно платит, только уже своим временем.

Virtualdub FFMpeg Input Plugin можно считать тоже GUI :)

Такой подход позволяет видео без перекодирования обрабатывать? Например, обрезать кусок MP4-файла без пересжатия видео?

Direct stream copy только для AVI. Режим FFMpeg supported files позволяет применять уникальные фильтры VirtualDub.

Разработчики программ выкатывают сильный инструмент, но чтобы освоить его могущество надо проштудировать 1000 страниц. Дружественный интерфейс заканчивается интуицией фронтендера. Эту прослойку надо делать с помощью ИИ.

Просто И пользователя уже не годится? Может, просто слово "лень" мешает? :-)

Любой GUI делается так, чтобы с его помощью определенный набор задач было удобно решать. Даже если внутри нет никакого FFMPEG.

Есть большая программа, называется линукс её строители мечтают охватить своими идеями массы, но обратная связь не идет дальше форумов с бесконечными выяснениями условий и обстоятельств пользования столь хорошего инструмента. Я тоже не люблю винду, а люблю быть хозяином положения, но разгрызать логику юникса вручную слишком обременительно.

В этой программе GUI запретили?

Не знаю, о каких Вы мечтах - там, где нужно, эта "программа" работает и свои функции выполняет. Про какие форумы и якобы не идущую обратную связь, мне тоже непонятно.

Ну как же! Сто первых дистростроителей добиваются любви юзеров. Какие только ГУИ не прикладываются, увы, само количество этих попыток говорит о том, что эволюция общения с машиной только началась.

Я не очень понимаю этот поток мыслей.

Я про сайт distrowatch.com, моя типовая ошибка; думал, что все знают то, что знаю я.

Ваша типовая ошибка началась со слова мечтают )

Никакой ошибки. Привлечь, как можно больше юзеров под свои знамёна и есть показатель признания продуманности идей построения своего дистрибутива.

И снова нет: где мечты, и где показатели.
Тем более, мечты коммитеров и показатели дистрибутивов.

Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором.

Набрать команду для кого нибудь может быть и быстрее чем сдвинуть курсор, но я отношусь к тому типу пользователей, для которых нужно потратить уйму времени на поиск это команды в Google, чем сдвинуть курсор.

Консольно точно быстрее, если надо сконвертировать пачку файлов.
Во всех других случаях GUI выигрывает удобством и наглядностью.

Не всегда. Например, если для настройки всех параметров в GUI надо открыть/отредактировать/закрыть пару десятков окон, чтобы задать все параметры, а в скрипте - написать несколько строчек.

Это если вы эти 10 строчек наизусть помните. Выкапывать каждый параметр из мана на 1000 страниц так себе быстрое решение.

Не помню. Но если в поиске гугла набрать "как в FFMPEG отрезать mp4 без перекодирования" (например) - выдаст готовый рецепт. Не так всё это и сложно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий