2011-11-14 8 views
6

¿Hay una biblioteca o un simple archivo C o C++ para decodificar MP3 en muestras?Código abierto de dominio público o mp3 ¿Decodificador?

La licencia debe ser de dominio público o una de las licencias más permisivas. MIT, X11 etc.

No GPL o LGPL. LGPL es agradable, pero en algunas situaciones (en iOS) es in practice useless . Incluso en las plataformas más abiertas como Win32, Linux y OSX usted tiene que dar crédito en la documentación y así sucesivamente, traer copias de la LGPL y la GPL dentro de su aplicación, etc.


Sí, Soy consciente de que el formato mp3 está patentado. La última patente vence el 30 de diciembre de 2017. 13 patents expired, 7 to go.

O working as intended. Se trata de perspectiva.

+0

¿Podría explicar por qué LGPL no es lo suficientemente permisivo? Eso afectará los proyectos que podríamos recomendar. –

+0

Similar a: http://stackoverflow.com/questions/3963742/good-mp3-or-ogg-decoder-written-in-c – kbyrd

+0

Me gustaría insertar el código dentro de la aplicación, lo que posiblemente implicaría cambiar el Código LGPL en sí, y luego habría distribuido un parche para eso, que no quiero. Pero sí, LGPL podría ser útil. LAME y yo creo que muchos otros son LGPL. libmad es excelente, pero es GPL incluso. –

Respuesta

3

Try libray minimp3 que es LGPL. Muy pequeño, portátil y fácil de usar. http://keyj.emphy.de/minimp3/

+0

Recibí una advertencia de virus de Chrome cuando descargué el archivo – Erro

1

Si no edita la biblioteca usted mismo (sé que dijo que le gusta editar el código pero vea si puede hacer las ediciones fuera de las llamadas a funciones en lugar de dentro de las llamadas para la biblioteca) y simplemente use un compilar del dll no necesitará distribuir el código usted mismo, solo puede señalar personas al proyecto original.

Saliendo del camino, como dijiste en un comentario de tu OP el LAME library funciona bastante bien, solo resiste la tentación de editar el dll y simplemente edita el código que llama al dll y deberías poder usar es exactamente como quieres.


ACTUALIZACIÓN:

Como ha señalado Hasturkun LAME is LGPL for encoding, but is GPL for decoding. Entonces LAME no es una buena herramienta para usar en su caso, pero las declaraciones originales de poner sus modificaciones en su código en lugar de la biblioteca LGPL siguen siendo buenas.

+0

Lo sé, +1 por esfuerzo, pero no es lo que estoy buscando. Lo consideraré sin embargo. –

+0

¿Estás diciendo que no quieres que tu programa tenga un exe y dll por separado? El usuario no tiene nada más que hacer si usa un instalador, extraerá su exe principal y el codificador LAME en la ruta de instalación. Para cumplir con la LGPL solo necesita un aviso de copyright en algún lugar de su programa. –

+1

Preferiría que no hubiera instalador. :-) Pero veremos, la realidad puede interferir con los planes. :-) –

3

Usted debe ser capaz de utilizar libmpg123, que está disponible bajo la licencia LGPL 2.1 . Debería estar bien licenciado siempre que lo use como una biblioteca externa.

Un extracto de LGPL 2,1:

"5. Un programa que no contiene derivado de cualquier porción de la biblioteca, pero está diseñado para trabajar con la Biblioteca al ser compilado o vinculados con se llama "trabajo que usa la Biblioteca". Tal trabajo , de manera aislada, no es un trabajo derivado de la Biblioteca, y queda fuera del alcance de esta Licencia ".

+0

La última versión de LGPL, * 3.0 *, parece exigir que siempre se muestre el crédito, si lo leo correctamente. Pero libmpg123 tiene licencia bajo el anterior 2.1 –

+1

Además, según lo entiendo, si * incluyo * el archivo DLL con mi programa, entonces mi programa es un trabajo derivado. Entonces el DLL debe existir ya en la máquina. –

+0

Casi todas las licencias mencionadas anteriormente exigen que se conserven los avisos de derechos de autor, lo que se reduce a "tener que poner algo en el manual" pase lo que pase. Además, algunas personas afirman que, como las aplicaciones de iOS no permiten que el usuario sustituya su propia implementación, no puede cumplir con la LGPL en iOS. –

1

El Fluendo MP3 decoder tiene licencia de MIT. (Como un servicio a los usuarios, sino que también han pagado la cuota de extorsión patente de Fraunhofer y Thomson, para que pueda obtener un binario mp3 decodificador Fluendo de su sitio web de Fluendo también.)

+0

¿Cómo es exorbitante? ¿No tienen derecho a sacar provecho de su patente? – g33kz0r

+11

@ g33kz0r, además de todo el debate sobre la validez de las patentes de software en general, Fraunhofer jugó el juego de cebo y cambio donde esperaron hasta que el mp3 obtuviera tracción, y solo entonces comenzaron a exigir sus honorarios a todos y a su perro. Los desprecio Lo bueno es que las patentes han expirado en la mayoría de los países desde diciembre de 2012 y estarán en los EE. UU. En 2017. En resumen, tienen un derecho legal, pero su derecho moral está contaminado en el mejor de los casos. Lo que significa que respeto sus derechos y no lo violó, no significa que tenga que agradarles por ello. –

Cuestiones relacionadas