CISCO H264 Кодирование серии изображений в H264

Я ищу аргумент командной строки для преобразования серии изображений в H264 с использованием CISCO H264. (Что-то вроде FFMPEG для преобразования изображения в видео). К сожалению, я не могу использовать FFMPEG, поскольку создаю коммерческое приложение, в котором я использую установленный кодек в клиентской системе для кодирования серии изображений в H264. Я предполагаю, что у FFMPEG нет лицензии на двоичные файлы H264, как у CISCO H264, которая платит роялти за MPEGLA. Если я не ошибаюсь. Было бы здорово иметь предложения в обоих отношениях.


person user3652437    schedule 18.02.2014    source источник


Ответы (2)


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

https://vimeo.com/79578794

Как говорится в видео, при кодировании собственного приложения/программного обеспечения существует два сценария:

1) Вы можете использовать исходный код OpenH264 непосредственно в своем приложении. Патентные отчисления MPEG-LA, возникающие в связи с этим, по-прежнему применяются, даже если ваше приложение является бесплатным (см. цитату ниже). Программная лицензия вашего приложения не имеет значения — она может быть открытой, закрытой или даже коммерческой. Кроме того, продаете вы его или нет, не имеет значения. Важно то, сколько единиц вы на самом деле распространяете. Тем не менее, это не так плохо, как вы думаете. Если вы распространяете ‹100 000 единиц в год, вы не будете платить роялти (см. условия лицензии MPEG-LA). Таким образом, если вы пишете бесплатное (то есть бесплатное) программное обеспечение, вы можете скомпилировать OpenH264 напрямую, и вам не нужно заставлять вашего пользователя извлекать подключаемый модуль, и вам не нужно беспокоиться о юристах, пока вы не > Распространено 100 000 единиц.

2) Если вы хотите избежать лицензионных отчислений MPEG-LA, вы не должны компилировать исходный код OpenH264, но должны предоставить конечному пользователю возможность загружать двоичные файлы подключаемого модуля OpenH264 для вашего приложения. Вы распространяете собственное скомпилированное приложение. Вы не распространяете двоичные файлы подключаемых модулей напрямую, но можете указать на них своему пользователю или даже позволить вашему приложению предоставить пользователю возможность их получения. Самое главное, решение о получении подключаемого модуля OpenH264 должно приниматься конечным пользователем при установке или запуске вашего приложения. Cisco платит гонорары конечных пользователей, возникающие в связи с подключаемым модулем OpenH264, и, поскольку ваше коммерческое приложение загружает только подключаемый модуль, они могут сделать это за вас.

Опять же, вы можете выбрать любой из вышеперечисленных вариантов. В обоих случаях не имеет значения, является ли ваше приложение открытым, закрытым, бесплатным или коммерческим. Важно то, как вы хотели бы покрыть лицензионные отчисления за распространение. Вариант 1: вы платите им в зависимости от того, сколько загрузок получило ваше программное обеспечение (а не от того, сколько было продано). Вариант 2: Cisco платит им, если ваше приложение ссылается на их подключаемый модуль, который извлекается по выбору пользователем вашего приложения.

Дополнительные источники:

http://robert.ocallahan.org/2010/01/h264-licensing-and-free-software_29.html

(Обратите внимание, я не юрист. Это моя собственная техническая интерпретация видео Cisco H.264 и лицензионного соглашения MPEG-LA. В конечном итоге, если вы распространяете более 100 000 единиц, для любой лицензии на программное обеспечение или заплатите структуру, поговорите с юристом. Меньше этого, не беспокойтесь.)

person rcz    schedule 09.10.2014

Сначала вам нужно разобраться с юридическими аспектами open264. Вы не можете его скомпилировать. Только версии, скомпилированные cisco, подпадают под действие существующей лицензии cisco. Вы не можете распространять его. Если вы распространяете приложение, которое его использует, оно не может быть частью вашего установщика. Ваше приложение должно загрузить двоичный файл с сайта Cisco. Open264 — это библиотека, а не исполняемый файл. Вам нужно создать свой собственный исполняемый файл. Вам также понадобятся библиотеки для чтения изображений и преобразования их в правильное цветовое пространство. Наконец, кодировщик cisco производит видео очень низкого качества по сравнению с x264. Я бы предложил просто заплатить за лицензию x264, а также лицензионные отчисления mpeg-la. Они, вероятно, не так дорого, как вы думаете.

person szatmary    schedule 18.02.2014
comment
На момент написания это могло быть правильным, но в настоящее время openh264 (исходный код, sic) имеет лицензию BSD, поэтому большая часть ответа основана на неправильном основании. Я не юрист, но я считаю, что вы МОЖЕТЕ компилировать и распространять его, но плата MPEG-LA все равно будет взиматься. - person Victor Sergienko; 07.04.2014
comment
Да вы правы. вы можете компилировать и распространять код, но ВЫ должны тогда платить мпег-ла. Поскольку автор уже упоминал, что не может использовать x264 из-за лицензирования, мои комментарии на 100% верны, учитывая контекст вопроса, но в остальном неполны. - person szatmary; 10.04.2014
comment
Понимаю. Я пытаюсь удалить свой отрицательный голос (ответ еще нужно отредактировать). Тем не менее, я считаю, что ответ не совсем правильный: нельзя распространять x264 в приложении с закрытым исходным кодом (без оплаты, поскольку x264 имеет двойную лицензию), и точка; но один МОЖЕТ распространять openh264 в приложении с закрытым исходным кодом, в то время как он платит сборы MPEG-LA. ЯНАЛ, еще. - person Victor Sergienko; 10.04.2014
comment
Не волнуйтесь. Я отредактирую ответ позже, когда меня не будет на телефоне. Спасибо за исправление, оно просто делает stackoverflow лучше. - person szatmary; 11.04.2014
comment
Open264 может создавать менее качество видео, но, с другой стороны, он производит более качественные видеопотоки. Open264 имеет такие функции, как Гибкий порядок макроблоков (см. github), который x264 не поддерживает. Это делает видео openh264 лучше там, где сеть может быть не на 100% (отброшенные пакеты не обязательно означают потерю всего видеопотока). - person Tim Groeneveld; 09.06.2016
comment
Предполагая, что ваш декодер поддерживает FMO. Xbox, например, нет. Кроме того, 99% видео в Интернете передаются по протоколу HTTP/TCP. - person szatmary; 09.06.2016