LINUX.ORG.RU

Конфликт между FFmpeg и Libav мешает разработке проектов

 , ,


0

2

На ЛОРе была новость о расколе проекта FFmpeg. С одной стороны, как говорит разработчик Клемент Бош (Clément Bœsch) есть положительные итоги «войны»: лидер проекта FFmpeg улучшил стиль руководства. Проект воссоздал инфрастуктуру с нуля, так как старая осталась у проекта libav. В этом помогли разработчики videoLAN, на серверах которых хранится, например, исходный код FFmpeg.

Вместе с тем, как разработчик, сотрудничающий с обоими проектами, Бош отмечает и негативные тенденции:

  • Игнорирование FFmpeg проектом libav.
  • Стремление всё переписать с нуля в проекте libav. Так, например, Бош и Стефано написали новую систему вывода ffprobe, которая использовала JSON вместо XML/INI форматов, включённых по умолчанию. Позже они добавили XML,TXT,CSV как дополнительные форматы вывода. Одновременно это было предложено как FFmpeg, так и в libav. Вместо заимствования коммитов из FFmpeg, реализующими функциями, разработчики решили гордо всё переписывать с нуля.
  • Так же, например, проектом libav были проигнорированы библиотеки libswresample и libavresample для ресемплинга и преобразования форматов, написанные для проекта FFmpeg. Через некоторое время libav вынужден был нанять платного программиста для реализации тех же функций. Позже этот шаг оправдывался разработчиками libav. Сама же FFmpeg поддерживает для совместимости дублирующее API libav.
  • В этом году в состав FFmpeg было добавлено множество фильтров, в основном аудио. Libav проявил интерес к расширению набора своих фильтров, но вместо использования наработок FFmpeg просто взялся улучшать API. Как считает Бош, это приводило к нарушению совместимости API несколько раз.

Как считает разработчик — это признак синдрома NIH («сделано не мной»). Само же такое поведение обусловлено тем, что разработчики libav хотят вытеснить FFmpeg полностью и подменить собой. Новая библиотека получает большое распространение в Linux-дистрибутивах благодаря тому обстоятельству, что на сторону libav перешёл сборщик пакетов. В описании пакета при этом сообщается, что FFmpeg уже устарел:

ffmpeg version 0.8.3-6:0.8.3-4, Copyright (c) 2000-2012 the Libav developers
   built on Jun 26 2012 09:26:41 with gcc 4.7.1

   THIS PROGRAM IS DEPRECATED
   This program is only provided for compatibility and will be removed in a future release. 
   Please use avconv instead.

Это вводит пользователей в заблуждение и в целом является своеобразным «черным пиаром» против FFmpeg. О том что проект жив и активен позволяет говорить ежемесячный объём рассылки в 1000 сообщений.

Бош считает, что проектам надо четко очертить свои цели, а не заниматься такой войной, которая вредит пользователям.

>>> Подробности

★★★★★

Проверено: DoctorSinus ()

Ответ на: комментарий от Deleted

Ворвавшийся форк сделал полезное дело, как отмецено в новости главный ментейнер ffmpeg стал более адекватным. А как я понял его неадекватность была единственной причиной форка. Так что если проблема устранена почему нужно продолжать враждовать почему нельзя дружить?

Behem0th ★★★★★ ()
Ответ на: комментарий от alpha4

Только переписывать грамотно, а не как тупицы из libav.

Quasar ★★★★★ ()

на сторону libav перешёл сборщик пакетов

У каждого дистрибутива есть свои люди, отвечающие за сборку пакетов, о здесь вообще речь?

В описании пакета при этом сообщается, что FFmpeg уже устарел

В описании пакета какого-то определенного дистрибутива? Так это дистропроблемы.

m0rph ★★★★★ ()
Ответ на: комментарий от m0rph

Насколько я понимаю в данном случае дистрибутивы берут готовый пакет от проектов и включают в репы

pylin ★★★★★ ()
Ответ на: комментарий от anonymous

Здорово! Раньше разработчикам говорили как должна выглядеть их программа которую они пишут фо фан. Тперь им еще и говорят на каких компьютерах они должны это делать.

Behem0th ★★★★★ ()

Почему ffmpeg считает, что кто-то должен под него подстраиваться? ffmpeg работает с данными БЛАГОДАРЯ avlib, пусть скажет спасибо. avlib вообще мог бы написать такую лицензию, по которой ffmpeg лососнёт тунца. avlib не подписывался ублажать руководителей какого-либо другого проекта, типа ffmpeg, которые решили подекодировать аудио-видео потоки.

kiverattes ★☆ ()
Ответ на: комментарий от Behem0th

Тперь им еще и говорят на каких компьютерах они должны это делать.

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

dt1 ★★ ()
Ответ на: комментарий от kiverattes

Новость перечитай! Разговор не про avlib а про форк ffmpeg'а под названием libav.

Behem0th ★★★★★ ()
Ответ на: комментарий от kiverattes

ORLY, libav сидела на базе FFmpeg. Дальше они развиваются независимо и это их право, никто и ничего им не навязывает. Просто неясно почему не расшарить полезные итоги от FFmpeg и к себе.

pylin ★★★★★ ()
Ответ на: комментарий от dt1

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

Behem0th ★★★★★ ()
Ответ на: комментарий от pylin

данном случае дистрибутивы берут готовый пакет от проектов и включают в репы

Угу, только в пакете ffmpeg должен быть, как написано и ожидается, ffmpeg! Но оказывается в нем libav! Зачем вводить пользователей в заблуждение и подменять пакет? Это уже плохим словом называется...

Голосуем за ffmpeg или libav! https://bugs.launchpad.net/ubuntu/ source/libav/ bug/1020856

bohm ★★★★★ ()
Последнее исправление: bohm (всего исправлений: 2)
Ответ на: комментарий от bohm

И что это решит? Голосовать следует на сайте Debian, потому что из него идут пакеты в Ubuntu почти без изменений, а не наоборот.

Почему же тогда Libav получила такое широкое распространение? Основные причины следующие: Политика пакетов. Сборщик пакетов для Debian/Ubuntu встал на сторону Libav в этом конфликте, и соответственно, в составе дистрибутива идут пакеты с Libav.

ZenitharChampion ★★★★★ ()

Опенсорсосрачи всегда такие забавные

svr4 ()
Ответ на: комментарий от ZenitharChampion

Голосовать следует на сайте Debian, а не наоборот.

ну так напишите багрепорт, просто у меня не дебиан.

bohm ★★★★★ ()
Ответ на: комментарий от quiet_readonly

Сначала ради пиара GPLv3 взяли и кинули Apple, фактически не позволив им юзать новые версии gcc с изменённой лицензией.

Почему это не позволяя? GPL v3 — отличная свободная лицензия с улучшенной защитой от копирастии. Из нового по сравнению с GPLv2 там защита от патентного троллинга и тивоизации, плюс улучшение совместимости с другими лицензиями. Если эпл собиралась устраивать патентные иски к пользователям GCC — то это её проблема, а не проблема лицензии.

Xenius ★★★★★ ()

ДА ЭТО ЖЕ ПРОСТО РЕЙДЕРСКИЙ ЗАХВАТ ФФМПЕГА СО ВСЕМ ДОНАТАМИ А ЛЮДИ НЕ ЗНАЮТ И ПРОДОЛЖАЮТ КОММИТИТЬ И ДОНАТИТЬ КАКОМУ-ТО ЛЕВОМУ

Клемент Бош (Clément Bœsch)

ОСТАНОВИТЕСЬ!

anonymous ()

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

К тому же гонка негативно сказывается на API, который перекраивается каждые 2-3 месяца самым непредсказуемым образом. Поддерживать параллельно несколько версий libav и ffmpeg в одном приложении всё более затруднительно и лично у меня уже возникают мысли отказаться от этих библиотек вообще.

anonymous ()
Ответ на: комментарий от bohm

Голосуем за ffmpeg или libav!

я голосую за слияние :(. Хотя хрен они договорятся. Да и кодовая база так, хочу чтобы перетрясли всё основательно. И доков бы... Эх, мечты.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

я голосую за слияние :(

И я не против слияния. Имелось ввиду, что в репах должен быть пакет ffmpeg с ffmpeg или libav с libav! А не делать грубую подмену проекта форком и при этом называть его основным.

bohm ★★★★★ ()

Все правильно они сделали. И продолжают правильно делать. Во-первых «лидер(ы)» проекта ффмпег разжирел(и) и забил(и) как на пользователей так и на разработчиков. Причем такой вот гиганский болт на М1024 положили на все. Потому собсно форк и состоялся. Libav на текущий момент двигается семимильными шагами. Собственно блягодаря расколу и последующему успеху Libav, остатки ффмпега раздуплились и начали наконец-то шевелиться. Однако это временный всплеск.
Есть одна разница, важная для меня, она заключается в том что LibAV'овцы переписывают все то говно и легаси, которое никогда не будет переделано в рамках проекта ffmpeg, а так же не продолжают делать новое говно в стиле ффмпега.(никто не отрицает что они делают свое, другое немногоговно). Олсо мейнстрим заасептил LibAV и диприкейтнул ФФМПЕГ, вот кисо и обиделся.

Jetty ★★★★★ ()
Ответ на: комментарий от bohm

Это переходной шаг. Разные дистры в разное время завершат миграцию полностью. и только тогда можно будет делать в отдельных package-set.

Jetty ★★★★★ ()
Ответ на: комментарий от zenkov

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

дебианопроблемы. в нормальных дистрах такого нет.

prizident ★★★★★ ()
Ответ на: комментарий от Jetty

Олсо мейнстрим заасептил LibAV и диприкейтнул ФФМПЕГ, вот кисо и обиделся.

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

prizident ★★★★★ ()
Ответ на: комментарий от Behem0th

Не хочешь использовать современный компилятор - твое дело. Можешь программировать на МК-52 фо фан. А вот указывать разработчикам не добавлять важную функцию, потому что на слабом железе будет тормозить компилятор - вот это странно.

anonymous ()

а не заниматься такой войной, которая вредит пользователям.

Миром правит капитал, пользователи его же и приращивают. Поэтому и война.

gray ★★★★★ ()
Ответ на: комментарий от gray

Вот только не надо сваливать тред в танцпол:)

pylin ★★★★★ ()
Ответ на: комментарий от pekmop1024

Где то вы баек нахватали, второгном выпилен ибо гномерасты его бросили. Зачем нам легаси который не патчат в лучшем дистрибутиве? Кубунта не брошена, кубунта не нужна. Тем более Qt/KDE разваливаются с каждым днем, а зачем нам глючная подделка?

Юнити - идеальное ДЕ, там ничего не глючит.

umren ★★★★★ ()
Ответ на: комментарий от ymuv

Мне уже они надоели, в генте один установил, через некоторое время другой тянется как зависимость да еще с другим ругается.

Посмотрите внимательно на зависимости пакета, требующего virtual/ffmpeg — скорее всего, проблема связана с media-libs/libpostproc, который нужно добавить в package.keywords. Например, media-plugins/gst-plugins-ffmpeg-0.10.13-r2 требует:

>=virtual/ffmpeg-0.10
|| ( media-video/ffmpeg media-libs/libpostproc <media-video/libav-0.8.2-r1 )

liberte ()
Ответ на: комментарий от liberte

PS. В /var/lib/portage/world media-libs/libpostproc также должен находиться, чтобы у него был приоритет над media-video/ffmpeg в списке зависимостей выше.

liberte ()
Ответ на: комментарий от bohm

В убунте в пакете ffmpeg завернут libav, да еще и на gstreamer0.10-ffmpeg забили.

Странно, ведь согласно ебилду пакета media-plugins/gst-plugins-ffmpeg в Gentoo, апстрим перешел на libav:

elog "Please note that upstream uses media-video/libav"
elog "rather than media-video/ffmpeg. If you encoutner any"
elog "issues try to move from ffmpeg to libav."

liberte ()
Ответ на: комментарий от prizident

Не один, а группа. Ну и да, бебиян нынче мейнстрим. Такой се серый кардинал :)

Jetty ★★★★★ ()
Ответ на: У Мариллата тоже ffmpeg от anonymous

например я :) С трудом представляю зачем может понадобиться вся та куча енкодеров и декодеров рядовому юзеру/девелоперу :) Киношка играицо, музяка играицо.....

Хотя в суровые времена вудей и даж немного эчей ДМО сильно выручал, да :)

Jetty ★★★★★ ()
Ответ на: У Мариллата тоже ffmpeg от anonymous

Re: У Мариллата тоже ffmpeg

Ну что, плюсуй меня к этим неизвестным людям.

Deleted ()

признак синдрома NIH («сделано не мной»)

Фатальный недостаток везде находит, где-то это уже было...

vova7890 ★★★ ()
Ответ на: комментарий от Jetty

С трудом представляю зачем может понадобиться вся та куча енкодеров и декодеров рядовому юзеру/девелоперу :) Киношка играицо, музяка играицо.....

тут на ЛОРе один задавал вопрос, как под линуксом порево сконвертировать в формат, понятный планшету на андроиде. Чем не хомячковая потребность? :)
Правда тред потерли сразу

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Сейчас это возможно, т.к. проблемы с кодеками(а точнее с правовой стороной их использования) были решены окончательно в сквизях, т.е. фактически в ДМО сейчас дубликаты пакетов из сквизей.
Однако насколько лицензионных вопросов было решено совсем недавно, например использование LAME енкодера.

Jetty ★★★★★ ()
Ответ на: комментарий от Jetty

Дело не только в том, что там больше декодеров и энкодеров. Они , к тому же, лучше из-за того, что французы из DMO игнорируют патенты на софт.

anonymous ()
Ответ на: комментарий от Behem0th

Да ну? FFmpeg восстал из пекла и возмущается что libav не хочет включать их наработки? Вопрос: а должны? libav теперь самостоятельный проект, и к тому-же стал мейнстримом. Они сами могут решать что и как принимать а что не принимать от ffmpeg. На мой взгляд градус неадеквата у разработчиков ffmpeg ни чуточки не убавился. Такие дела.

codoranro ()
Ответ на: комментарий от anonymous

«игнорируют патенты на софт» это и есть та самая «больше декодеров и энкодеров»... Ибо именно из-за патентов и лицензионных ограничений в бебияне собирали без группы кодеков/фильтров/етц...

Jetty ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.