2011-11-14 12 views
6

Esiste una libreria o un semplice file C o C++ per decodificare MP3 in campioni?Decodificatore mp3 Open Source o Public Domain?

La licenza deve essere di dominio pubblico o una delle licenze più permissive. MIT, X11 ecc.

Non GPL o LGPL. LGPL è bello, ma in alcune situazioni (su iOS) è in practice useless . Anche su piattaforme più aperte come Win32, Linux e OSX bisogna dare credito nella documentazione e così via, portare le copie del LGPL e GPL all'interno della vostra app ecc


Sì, Sono consapevole che il formato mp3 è brevettato. L'ultimo brevetto scadrà il 30 dicembre 2017. 13 patents expired, 7 to go.

oppure working as intended. È tutta una questione di prospettiva.

+0

Potrebbe spiegare perché LGPL non è abbastanza permissiva? Ciò influenzerà i progetti che potremmo raccomandare. –

+0

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

+0

Mi piacerebbe incorporare il codice all'interno dell'applicazione, che potrebbe comportare la modifica del codice Codice LGPL stesso, e quindi avrei distribuito una patch per questo, che non voglio. Ma sì, la LGPL potrebbe essere utile. LAME e penso che molti altri siano LGPL. la libmad è eccellente ma è persino GPL. –

risposta

3

Prova minimpray libray che è LGPL. Molto piccolo, portatile e semplice da usare. http://keyj.emphy.de/minimp3/

+0

Ho ricevuto un avviso di virus da chrome quando ho scaricato l'archivio – Erro

1

Se non si modifica la libreria autonomamente (so che hai detto che ti piace modificare il codice ma vedere se puoi eseguire le modifiche al di fuori delle chiamate di funzione invece che all'interno delle chiamate per la libreria) e utilizzare solo un diretto compilando la dll non avrai bisogno di distribuire il codice da solo, puoi semplicemente indirizzare le persone al progetto originale.

Toglierlo di mezzo, come hai detto in un commento del tuo OP il LAME library funziona abbastanza bene, basta resistere alla tentazione di modificare la DLL e basta modificare il codice che chiama la DLL e dovresti essere in grado di usare esattamente come tu vuoi


UPDATE:

Come sottolineato da Hasturkun LAME is LGPL for encoding, but is GPL for decoding. Quindi LAME non è un buon strumento da usare per il tuo caso, ma le dichiarazioni originali di inserire le tue modifiche nel codice al posto della libreria LGPL sono ancora valide.

+0

Lo so, +1 per lo sforzo, ma non quello che sto dopo. Lo prenderò in considerazione comunque. –

+0

Stai dicendo che non vuoi che il tuo programma abbia exe e dll separati? L'utente non ha nulla da fare se usi un programma di installazione, estrae il tuo exe principale e il codificatore LAME sul percorso di installazione. Per rispettare la LGPL hai solo bisogno di un avviso di copyright nel tuo programma. –

+1

Preferirei nessun installatore sì. :-) Ma vedremo, la realtà potrebbe interferire con i piani. :-) –

3

Si dovrebbe essere in grado di utilizzare libmpg123, che è disponibile sotto la licenza LGPL 2.1. Dovresti avere un buon livello di licenza fintanto che lo usi come libreria esterna.

Un estratto LGPL 2.1:

"5. Un programma che non contiene derivate da qualsiasi parte del biblioteca, ma è progettato per lavorare con la Libreria attraverso compilazione o collegati con si chiama "opera che utilizza la libreria", un lavoro simile, , in isolamento, non è un lavoro derivato della libreria e pertanto non rientra nell'ambito di questa licenza. "

+0

L'ultima versione di LGPL, * 3.0 *, sembra richiedere che venga sempre visualizzato il credito, se l'ho letto correttamente. Ma libmpg123 è concesso in licenza con il precedente 2.1 –

+1

Inoltre, a quanto ho capito, se io * includo * la DLL con il mio programma, allora il mio programma è un lavoro derivato. Quindi la DLL deve esistere già sulla macchina. –

+0

Quasi tutte le licenze sopra menzionate richiedono che le note sul copyright vengano conservate, il che si riduce a "dover mettere qualcosa nel manuale", non importa quale. Inoltre, alcune persone sostengono che, poiché le app iOS non consentono all'utente di sostituire la propria implementazione, non è possibile conformarsi alla LGPL su iOS. –

1

Il Fluendo MP3 decoder è autorizzato dal MIT. (Come servizio per gli utenti, hanno anche pagato la tassa di estorsione di brevetto a Fraunhofer e Thomson, quindi puoi ottenere un decoder binario Fluendo mp3 dal loro sito web Fluendo.)

+0

Com'è estorsivo? Non hanno il diritto di trarre profitto dal loro brevetto? – g33kz0r

+11

@ g33kz0r, oltre all'intero dibattito sulla validità dei brevetti software in generale, Fraunhofer ha svolto il gioco esca-e-interruttore in cui hanno aspettato fino a quando gli mp3 hanno ottenuto la trazione, e solo allora hanno iniziato a chiedere le loro tasse a tutti e al loro cane. Li disprezzo. Per fortuna i brevetti sono scaduti nella maggior parte dei paesi da dicembre 2012 e saranno negli Stati Uniti nel 2017. In breve, hanno un diritto legale, ma il loro diritto morale è corrotto al meglio. Il che significa che rispetto i loro diritti e non li violento, non significa che mi piacciano per questo. –