После десяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.4, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=54930
супер, топовое СПО
Топ, суровое ПО.
Суровые программисты пишут. Это же сколько надо спецификаций на кодеки прочмтать, очуметь.
пфф,спецификаций... поищи вон опус индуса, расхакавшего синеформовский кодек, использу////овашийся в gopro studio. "тааак, на сарае написано эвон чего а тут...хм, смотри-ка - дрова лежат!"
Десять лет все с ним мучались, пока этот Кумар Сингх не заинтересовался вопросом.
Мдя, нечитатели заминусовали правду.
Вот он, Кумар этот (чтоб как-нибудь похуже не назвать, лучше пусть остается Кумаром):
https://medium.com/@kierank_/reverse-engineering-the-go...(заметим, он еще и заплатил мешок денег за те спецификации, чтобы иметь потом щастье ковыряться в файлах, которые вроде бы должны ей соответствовать, но... опаньки)
P.S. результат трудов, увы, не принес ему ни славы, ни денег - gopro через год выбросила этот кодек на помойку вместе со студией. В концепцию "все данные пользователя должны храниться в чужом облаке" она плохо ложилась, в отличие от модных ведроидных "приложеньиц".
Новое это хорошо, однако баги при этом не исправляют. Муксеры/демуксеры форматов дикая кривота с кучей проблем. И я так понимаю их так просто не исправить поскольку ffmpeg в кишочках заточен в первую очередь на универсальность? Во всяком случае, не торопятся.
ссылочки на https://trac.ffmpeg.org/ пжлст
Вроде, находил. Конретно есть вопросы к импорту/экспорту метаданных из разных форматов (самых разных, в том числе самые популярные форматы контейнеров и кодеков), работе с цветовыми пространствами (и скажем файл будет не протагирован корректно, хотя вроде бы внутри корректно понимает -- тоже были баги, с год назад исправили) и некоторые более экзотические вещи которые я сейчас не помню, например, с фильтрами или пресетами форматов (которые _обязаны_ соответствовать древним хардварным спецификациям в целях совместимости, а вместо этого выдают полубитый файл).
Кстати, это прямо беда, у адобы вон всегда правильные файлы (при всей моей нелюбви к ней), а весь мир теперь именно из-за этого ffmpeg жрёт, что дают.
угу, в результате выкидыш из под handbrake (по сути нескучный интерфейс к) кое-как воспроизводится браузерами в линуксах же (еще бы ffmpeg не мог воспроизвести ffmpeg), и не воспроизводится виндой, с ее media library.А адобу я теперь даже почти люблю - фотографов да, кинула, зато любителям типа меня - за три копейки продают доступ.
А весь мир из-за паталогической жадности и дальше будет жрать г-но с лопаты, зато его - просто завались!
Адоб нового ничего не придумывает уже давно.
Он просто тащит все, прикручивает к этому гуи и продает.
И весь этот опенсурс валяется у них в папках, и вот выходит новая версия эдобчика, а внутри все те же старые версии.
Хипстота платит $3000 в месяц за то, что знает только гуи адоба.
Опенсорс бывает разный. Есть вот ffmpeg, которому плевать на всё, а есть gpac, который чётко соответствует спецификациям и генерирует корректные файлы. Так же и с кодеками. Они продают продукт, который подходит для профессионального использования. Даже если тот построен из кривого опенсорса, тот не обязательно во всём кривой, и, при малейшем желании, можно проанализировать проблемы и придумать, как те обойти. Их интересует качество результата, это заслуживает уважения. Это то, чего нет у того же гимпа.
> Опенсорс бывает разный. Есть вот ffmpeg, которому плевать на всё, а есть
> gpac, который чётко соответствует спецификациям и генерирует корректные файлы.а можно подробнее - что ты им делаешь?
А то судя по их факу, он кодирует-то все тем же ffmpeg, или вот еще хужей:
https://github.com/gpac/gpac/wiki/encoding - ffenc:ffc=libx264 (то есть вместо запуска напрямую x264, через три ненужных враппера, ffmpeg посередине тоже участвовал, делаем то же самое)
Собираю в адекватный контейнер. Оба mp4 и mkv у самого ffmpeg совершенно не соответствуют тому, как эти контейнеры должны выглядеть.
А, то есть не энкодинг, а просто уже ffmpeg'ом кодированному поправить формат контейнера? Ок, понятно. У меня-то были подозрения, что не в контейнере дело.
С энкодингом отдельные проблемы, но мне пришлось пока отказаться от раздельного кодирования и mjpegtools (не самое актуальное), и перейти на использование vapoursynth (который использует всё тот же ffmpeg), поскольку задачи несколько сложнее и выбирать не приходится -- ffmpeg очень плохо стравляется с деинтерлейсом, например. У ffmpeg даже самый медленный и качественный вариант деинтерлейса вроде yadif=1/mcdeint=extra_slow/nlmeans будет с артефактами. Тут главное, чтобы контейнер был человеческий, а то потом беда с воспроизведением. Если говорить о constrained форматах (dvd/bd), то у ffmpeg сложности как с пониманием таких форматов, так и с генерацией. Все вот эти вот Non-monotonous DTS in output stream это вроде тоже оно, из-за этого потом рассинхрон. Обычно прожуёт успешно, только бы рассинхрона не было.
>который подходит для профессионального использованиякажется ты не понял притензии к эдобу и начал их расхваливать, хз зачем.
У эдоба жесткие привязки в тому, что они раз сделали, и если они сделали с костылями и багами, то они не будут это исправлять, пройдет 5 лет, и они тоже не будут это исправлять.
И ты будешь грызть локти и жрать кактус, потому что то, что тебе нужно, будет находиться в репе ос.
Этоб не для среднесортных профессионалов, и уж тем более не для новаторов. Потому что там все чопорно и ограниченно, плюс, многолетние баги.
И зря ты быканул в сторону гимпа, ой зря. Привязать нейросетку к гимпу можно за 20мин, привязать нейросетку к адобу года через 2 и допвливания.
Нет не зря. Гимп использует libheif, который выдаёт кривые файлы. Как и крита. Тезиз опенсорс == овно, верен как никогда.
>libheifТретьесортную маргинальщину выдаём за нужную (кому, кстати?) фитчу? Юзай JPEG - он как Ленин - жив и будет жить.
> Нет не зря. Гимп использует libheif, который выдаёт кривые файлы.Да и хрен с ними - куда их потом девать? Юзеры в вебе это не увидят и смысла их такие делать ноль, а для себя можно хоть оригинал в png сохранить, чтобы качество не про...ывать.
> Реализована возможность использования API VDPAU (Video Decode and Presentation) для аппаратного ускорения декодирования видео в форматах HEVC/H.265 (10/12bit) и VP9 (10/12bit).
>Обеспечена поддержка декодирования видео в формате AV1 с использованием движков аппаратного ускорения NVIDIA NVDEC и Intel QSV (Quick Sync Video), а также при помощи API DXVA2/D3D11VA.Джва года ждал. Ура!
просто БО0000ОМБА!!!!!
за 2 года мог бы и сам сделать и предложить к рассмотрению патч. но ждать, а потом выливать здесь свой слюнявый восторг гораздо комфортнее, правда?
А тут фсе пограмисты?
Предложистов писать код больше, чем тех кто пишет.
Ну VA-API там дано есть.
VDPAU то зачем необходим? есть *_nvenc и *_cuvid, чем не устраивают?
Для мплеера например. я думал тут все повернутые на том чтобы задействовать видяху при любом удобном случае, а оказалось это только в браузерах приветствуют похоже.D
mplayer, вроде, как и mpv умеет nvdec, без vdpau может не декодировать древние кодеки, но оно уже не нужно
Через vaapi наверное, но я по-старинке...)
> Удалена поддержка кодировщика на базе libwavpack.Чем он помешал?
>> Удалена поддержка кодировщика на базе libwavpack.
> Чем он помешал?Он на годы отставал от нормального кодировщика wavpack и там очень много изменений и исправлений. Я так понимаю, удалили только свой, и оставили внешний?
Или наоборот? Если наоборот, то странно.
А так, ситуация примерно как со встроенными aac/vorbis/opus и внешними libfdk-aac и libvorbis с libopus. Встроенные реализации (примерно всего) дрянные и на годы отстают от апстрима или альтернативных узкоспециализированных реализаций. Я уже говорил, единственное преимущество ffmpeg в универсальности.
Весьма зависит от формата и как он девам зашел. Скажем встроеные декодеры видео в ffmpeg имеют свойство быть в разы быстрее оригиналов. Энкодинг - сильно зависит от, но они так то умеют и либы юзать.А так чем еще на этой планете вы какую-нибудь .SMK из игры в WEBP анимацию вообще перегоните? :)
Своя реализация. Удалили wrapper для внешней
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=45070eec4c0...
Я сравнивал на той неделе, у wavpack кодера с wavpack.com файлы сильно отличаются на тех же параметрах от реализации ffmpeg (которая основана на древнем кодере wavpack). И там ошибки исправляли в апстриме. Но, в общем, я не встречал таких файлов в интернете. Просто, если захотите кодировать свои файлы в wavpack, имейте в виду, что не стоит это делать посредством ffmpeg.
Хорошо, будем кодировать в flac, он в ffmpec нормальный. А качать какие там еще васянкодеки с какого-то .com пусть юзеры винды изволят.
Этот кодек существует c 1998, домен с 2000, не вижу с чего бы ему поменять свой домен. Flac не умеет лосси, и медленнее читается. Да и с тегами у флака какая-то хрень: в одном софте будут одни теги поддерживаться, в другом другие, тут же всё стандартизировано.
Кстати это на сегодня лучший качественный лосси кодек. Битрейт в 2 раза ниже лосслеса, а качество неотличимо.
А вот чем он помешал:author Lynne <dev@lynne.ee>
libwavpackenc: remove libwavpackenc wrapperThe manual states "there is virtually no reason to use that encoder.".
It supports less sample formats than the native encoder, is less efficient
than the native encoder and is also slower and pretty much remains untested.
libwavpack also isn't being fuzzed, which given that we plug the parameters
without any sanitizing them looks concerning.Инклюзивность, во все щели. То есть удалено даже без попыток подумать, зачем. В мануале же написано! (Дайте угадаю, тоже кем-то инклюзивным почти без собственного кода вне форматов .md и .xml)
В diff'ах нашёл:Only lossless mode using 32-bit integer samples is supported currently.
Это как бы аргумент, видимо, но разве именно не такой режим в основном и используют?
> Инклюзивность, во все щели.Инклюзивность так то в ffmpeg коммитит дофига лет вроде. А если нечто заброшено, ну, сорян. Ассенизаторами в ffmpeg быть никто не подписывался.
> То есть удалено даже без попыток подумать, зачем. В мануале же написано!
Если вы даже ман проапдейтить не изволите, сделав major фичу, пользоваться вашим совтом тем более не стоит.
> (Дайте угадаю, тоже кем-то инклюзивным почти без собственного кода вне форматов .md и .xml)
На, вот, скушай...
git log --format='%an' | grep -i Lynne | wc -l
141А наобум тыкнутое поиском выдало do not invert permutes on MDCTs. Ты уверен что это про XML? На DCT на XML я бы так то посмотрел, вообще для общего развития.
У меня возникает вопрос. Вот есть такая возможность, как запись экрана. Также называемая "скринкастингом". При использовании мультимедиа-кодека libx264 и звуковой системы PulseAudio, всё работает прекрасно. Если использовать ALSA, звук может не записываться.Баг 100% воспроизводится, если во время записи видео нагрузить CPU чем-то тяжёлым. В этот момент, звук побьётся.
Вопрос: это как-то фиксится? Мне на ЛОРе писали, что можно указать дополнительный параметр, чтобы увеличить буфер для ALSA. Хочется услышать мнение разбирающихся людей.
Вот официальная страница бага: https://trac.ffmpeg.org/ticket/2504 Тут пишут, что если запустить отдельно процесс для записи видео, и отдельно процесс для записи аудио, то звук биться не будет. Либо использовать "пульсу".
> PulseAudio, всё работает прекрасно. Если использовать ALSA, звук может не записываться.У тебя противоречие: PulseAudio работает над ALSA. ALSA - драйвер, PulseAudio - сервер. Если сервер работает, значит, и драйвер тоже работает.
>> PulseAudio, всё работает прекрасно. Если использовать ALSA, звук может не записываться.
> У тебя противоречие: PulseAudio работает над ALSA. ALSA - драйвер, PulseAudio -
> сервер. Если сервер работает, значит, и драйвер тоже работает.Многие люди пользуются ALSA без PulseAudio.
>> PulseAudio, всё работает прекрасно. Если использовать ALSA, звук может не записываться.
> У тебя противоречие: PulseAudio работает над ALSA. ALSA - драйвер, PulseAudio -
> сервер. Если сервер работает, значит, и драйвер тоже работает.драйвер у него - работает, никакого противоречия. ffmpeg без кривой прослойки - не работает. Потому что там инклюзивные давно победили здравый смысл, и не умеют тестировать свой код.
Беллард, вернись! И того индуса тоже захвати, он правильный индус.
>>> PulseAudio, всё работает прекрасно. Если использовать ALSA, звук может не записываться.
>> У тебя противоречие: PulseAudio работает над ALSA. ALSA - драйвер, PulseAudio -
>> сервер. Если сервер работает, значит, и драйвер тоже работает.
> драйвер у него - работает, никакого противоречия. ffmpeg без кривой прослойки -
> не работает. Потому что там инклюзивные давно победили здравый смысл, и
> не умеют тестировать свой код.
> Беллард, вернись! И того индуса тоже захвати, он правильный индус.Не, инклюзивные ни при чём. Этому багу 8 лет. Сразу, как добавили возможность скринкастинга при помощи x11grab, он уже был.
> Не, инклюзивные ни при чём. Этому багу 8 лет. Сразу, как добавилидык все норм - 8 лет назад уже был пщпщ и квоты для трапов в грантопотребляющие проекты.
Это для нигр еще не было.В ffmpeg попереломано в ста местах куча всего (и восемь лет назад было - в том числе он как-то раз разучился у меня открывать файлы mjpeg, созданные zoran - c sigsegv, что характерно) - но чинить некому, давайте удалим поддержку еще одной внешней библиотеки, это вот задача посильная инклюзивнутым.
> В ffmpeg попереломано в ста местах куча всего (и восемь лет назад
> было - в том числе он как-то раз разучился у меня
> открывать файлы mjpeg, созданные zoran - c sigsegv, что характерно) -
> но чинить некому, давайте удалим поддержку еще одной внешней библиотеки, это
> вот задача посильная инклюзивнутым.Жиза, постоянно такая херня встречается.
уф, столько всеяких медиа форматов уже изобрели, аж глаза разбегаются
да, нужно создать новый универсальный формат который учтет недостатки и возможности всех этих форматов! xkcd:927
Никогда такого не было и вот опять?
Есть миллион различных форматов? Не беда - создаём новый универсальный, который заменит их все! Результат понятен - теперь у нас миллион плюс один формат
У меня похожий вопрос, но предыдущего оратора зачем-то забанили (почему - даже не спрашиваю).
Так вот, кто-нибудь пробовал пульсу заменить этим? У меня типа кроссовер, раскидывает НЧ-СЧ-ВЧ по каналам.
> Так вот, кто-нибудь пробовал пульсу заменить этим? У меня типа кроссовер, раскидывает"этим" это чем таким? У предыдущего оратора она ничем не заменена.
FFmpeg вроде используется в качестве ladspa плагина (тот же 1098/identity_audio) хотя у меня тут написано теперь в cmt, много возни было с пересборкой всех кодировщиков в 32 бита из-за этой зависимости с год назад. Стало намного лучше. Зачем нужна пульса, если можно настроить буфер в alsarc? Пульса начинает лагать и вносить рассинхрон, тут только либо снижать нагрузку, либо твикать буферы. Хотя лично мне пульса помогала от "треска". Но рассинхрон меня доконал и я её удалил, благо всё с apulse работает прекрасно.
Супер !
Маст хев. Разрабам однозначно респект.
Ждем H.266
AMD пользователям опять только леденцы 🍭 это самое делать?
да, всегда!
Ну, владельцам AMD хотя бы леденцы. А вот владельцы nvidia известно что "это самое".
ffmpeg -init_hw_device vaapi=foo:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_deviceНу а ты да, соси леденец, макоnедикам не привыкать.
Нашёл строчку в поисковики и рад.
А так по новости а пролёте AMD.
Тот же AV1 обыскался в интернетах. Вроде как что-то поэтому поводу есть в только что вышедшей mesa.
На практике ничего не удалось найти.
Может и повтор истории с VP9 на линейке 550-580.
> Нашёл строчку в поисковики и рад.
> А так по новости а пролёте AMD.
> Тот же AV1 обыскался в интернетах. Вроде как что-то поэтому поводу есть
> в только что вышедшей mesa.
> На практике ничего не удалось найти.
> Может и повтор истории с VP9 на линейке 550-580.Неси пургу дальше:
https://www.x.org/wiki/RadeonFeature/#radeonvcnvideocorenext...
vaapi повторяет то, что есть в VCN.
Ну да, ну даЭто факт, и уже прошлое, причём практическое
> повтор истории с VP9 на линейке 550-580
А на красивую бумажку без подтверждения практикой и развитой инфрастуктурой можно только любоваться на диване.
> Ну да, ну да
> Это факт, и уже прошлое, причём практическое
>> повтор истории с VP9 на линейке 550-580
> А на красивую бумажку без подтверждения практикой и развитой инфрастуктурой можно только
> любоваться на диване.Обратитесь в техподдержку:
>> Ну да, ну да
>> Это факт, и уже прошлое, причём практическое
>>> повтор истории с VP9 на линейке 550-580
>> А на красивую бумажку без подтверждения практикой и развитой инфрастуктурой можно только
>> любоваться на диване.
> Обратитесь в техподдержку:
> https://support.apple.com/ru-ru/macО, там мне напишут, как ffmpeg работает реально на практике с AMD по поводу AV1 с линуксами? Сейчас напишу.
>>> Ну да, ну да
>>> Это факт, и уже прошлое, причём практическое
>>>> повтор истории с VP9 на линейке 550-580
>>> А на красивую бумажку без подтверждения практикой и развитой инфрастуктурой можно только
>>> любоваться на диване.
>> Обратитесь в техподдержку:
>> https://support.apple.com/ru-ru/mac
> О, там мне напишут, как ffmpeg работает реально на практике с AMD
> по поводу AV1 с линуксами? Сейчас напишу.А ты знатный упорантус, аппаратный AV1 существует только в виде декодера.
Я про декодер и писал.
Когда ffplay берёшь и трах-бабах всё работает с AV1 на AMD - то это OK.А когда "с той стороны патчи есть, ну вон докуменетация есть. Сейчас виновных будем искать, почему не работает! а с их стороны пуля вылетила".
Не катит. Готовое решение - это готовое решение. А остальное для фанатиков.
>ffplayПонятненько, докопался до столба.
> Понятненько, докопался до столба.Бред. Какие-то столбы. Это самая элементарная проверка на практике.
>> Понятненько, докопался до столба.
> Бред. Какие-то столбы. Это самая элементарная проверка на практике.Ты частное к общему привел. Этого достаточно.
Причём тоже самое пишешь> Вроде как что-то поэтому поводу есть в только что вышедшей mesa. На практике ничего не удалось найти
нет, не понимает.
>Добавлена поддержка протокола "gophers" (gopher поверх TLS).Ну наконец-то!
Рассыпание на квадратики в авишках исправили?
> Рассыпание на квадратики в авишках исправили?Оно там вроде бы есть только если это в исходном материале было. У меня довольно большая коллекция самых разных экспонатов с самыми странными кодеками на раз жрется.
Если оно гамняное - постпроцессниг ffmpeg умеет, но его надо явно просить, ибо ffmpeg это процессор видео и самовольничать права не имеет.