2009-03-21 12 views
13

Los jugadores principales parecen ser x264 y xvid, y ambos son GPL. Esto significa que no podemos integrar las capacidades de descodificación en una aplicación de reproducción sin licenciar todo como GPL, por lo que no podemos usar ninguna de las dos.Libre/Abrir bibliotecas de decodificación de video h.264? (Sin GPL)

La plataforma de destino preferida es Linux. Cualquier licencia abierta no viral está bien, estamos más que contentos de proporcionar la fuente de los cambios que hacemos a las bibliotecas, pero no toda nuestra aplicación.

¿Hay algo? O tal vez deberíamos usar GPL por ahora como una prueba durante el desarrollo, y planeamos reemplazarlo con un códec con licencia comercial antes de enviarlo.

+3

XviD no es un códec H.264, que es un codec MPEG-4 parte 2. –

Respuesta

2

Un proyecto derivado de la biblioteca de rendimiento de AMD, Framewave, ahora tiene un componente de video que admite la decodificación h.264.

La licencia es la "licencia Apache 2.0"

puedes echarle un vistazo en Sourceforge SVN

+0

Gracias, lo vi y lo pasé por alto, asumiendo que era solo AMD. –

1

Ok, FFMpeg parece manejar H.264. Creo que la mayor parte es LGPL.

Todavía me encantaría escuchar experiencias con él (bueno o malo) u otras opciones, gracias.

- Corrección, la versión que acabo de probar parece estar compilada con "--enable-gpl", lo que me lleva a creer que está haciendo uso de códecs con licencia GPL. Argh!

+0

FFMPEG opcionalmente enlaces a x264, y si lo hace, cae bajo la GPL. La elección de la licencia depende de las opciones de configuración y creo que se requiere x264 para la compatibilidad con h.264. – greyfade

+0

¿Su aplicación está contaminada por GPL si solo se invoca ffmpeg a través de system() o popen()? – mouviciel

+0

^^ IANAL, pero creo que si envía los archivos binarios GPL con su aplicación, entonces podría decirse que sí. – damian

0

He hecho algunos trabajos con FFmpeg, aunque estaba limitado a libavformat (la parte del códec se llama libavcodec). Encontré la API sorprendentemente sencilla y fácil de usar. Proporcionan algunas muestras realmente útiles y esclarecedoras en la distribución fuente estándar.

En general, la biblioteca tiene una calidad bastante alta, pero parece que faltan algunos módulos, por lo que no puedo responder por la parte h264. Sin embargo, he oído cosas buenas sobre el codificador.

3

IANAL, pero si usted es el envío patentes de software en cualquier lugar se hacen cumplir, no sólo usted tiene que pagar los derechos de MPEG LA para la decodificación H.264, pero el license fuerza que se opone a la utilización de los descodificadores de código abierto de todos modos. He oído hablar de molestias similares que se aplican a otros códecs.

2

IANAL.

Si envía binarios sin modificar creados a partir de una fuente de GPL sin modificar y su aplicación simplemente los invoca, creo que su aplicación completa no tiene que ser GPL. Puede que tenga que incluir la documentación de GPL y/o la fuente de las aplicaciones de GPL incluidas, pero si no está haciendo modificaciones o enlaces contra el código de GPL, su código no se verá afectado.

En cuanto a los estándares MPEG, que pueden ser de otra bolsa de gusanos enteramente ...

+0

Sí, lo hacemos ahora, simplemente invocando mplayer. El objetivo futuro es integrar videos junto con otro contenido en un resultado sin problemas, posiblemente con transparencia u otros efectos. El pensamiento actual es que para hacer esto con un rendimiento razonable, debe integrarse. –

+2

IANAL tampoco, pero sería cauteloso al confundir LGPL y GPL aquí. Lo que usted describe sería 100% correcto para el código LGPL, pero podría decirse que si el componente GPL que está enviando + no le gusta como binario es una parte de la aplicación general, entonces la aplicación general también debe ser GPL. http://www.gnu.org/philosophy/why-not-lgpl.html – damian

+0

para cualquiera que no reconozca el acrónimo, IANAL significa 'No soy abogado'. – Wyatt8740

1

Take un vistazo al Intel IPP Libraries. No son gratuitos, pero son muy baratos (un pago único de cien dólares o algo así). También puede obtener una evaluación gratuita para probarla. La licencia es muy abierta y, hasta donde yo sé, le permite una distribución ilimitada en su aplicación para siempre una vez que la compre.

9

El decodificador ffmpeg H.264 es LGPL. Solo los codificadores son GPL y x264 no proporciona un decodificador.

También tiene la ventaja sobre Framewave y IPP de ser realmente utilizable.

+0

En la actualidad existen algunos codificadores que no son GPL: http://stackoverflow.com/a/39338135/32453 – rogerdpack

2

Cisco lanzó una licencia BSD Biblioteca h264 para codificación y decodificación.

Desearía que simplemente usas GPL, pero no te voy a decir que hagas eso cuando hay una respuesta por ahí.

http://www.openh264.org/
y la página de GitHub:
https://github.com/cisco/openh264

+0

Tenga en cuenta que debe pagar a los monárquicos de MPEG-LA cuando compilan y distribuyen. Sería interesante si se aplica un esquema similar al que @HUAGHAGUAH dice sobre la GPL (invocación directa). –

Cuestiones relacionadas