2009-03-21 13 views
13

I giocatori principali sembrano essere x264 e xvid, ed entrambi sono GPL. Ciò significa che non possiamo integrare le capacità di decodifica in un'applicazione di riproduzione senza concedere in licenza l'intera cosa come GPL, quindi non possiamo nemmeno utilizzarle.Librerie di decodifica video h.264 libere/aperte? (Non GPL)

La piattaforma di destinazione preferita è Linux. Qualsiasi licenza aperta non virale va bene, siamo più che felici di fornire l'origine di eventuali modifiche apportate alle librerie, ma non la nostra intera applicazione.

C'è qualcosa? O forse dovremmo usare GPL per ora come test durante lo sviluppo e progettare di sostituirlo con il codec con licenza commerciale prima della spedizione?

+3

xvid non è un codec H.264, è una parte 2 codec MPEG-4. –

risposta

2

Un progetto derivato dalla libreria delle prestazioni AMD, Framewave, ora ha un componente video che supporta la decodifica h.264.

La licenza è la "Apache 2.0 license"

è possibile controllare fuori a Sourceforge SVN

+0

Grazie, l'ho visto e l'ho passato sopra, supponendo che fosse solo AMD. –

1

Ok, FFMpeg sembra gestire h.264. Credo che la maggior parte sia LGPL.

Mi piacerebbe ancora sentire le esperienze con esso (buono o cattivo), o altre opzioni, grazie.

- Correzione, la versione appena testata sembra essere compilata con "--enable-gpl", il che mi porta a credere che utilizzi i codec con licenza GPL. Argh!

+0

FFMPEG collega facoltativamente a x264 e, in tal caso, rientra nella GPL. La scelta della licenza dipende dalle opzioni di configurazione e credo che x264 sia richiesto per il supporto h.264. – greyfade

+0

La tua app è contaminata da GPL se invoca solo ffmpeg tramite system() o popen()? – mouviciel

+0

^^ IANAL, ma penso che se spedisci i binari GPL con la tua app, allora probabilmente, sì. – damian

0

Ho lavorato con FFmpeg, sebbene fosse limitato a libavformat (la parte del codec si chiama libavcodec). Ho trovato che l'API è sorprendentemente semplice e facile da usare. Forniscono alcuni esempi davvero utili e illuminanti nella distribuzione standard delle fonti.

Generalmente la libreria ha una qualità piuttosto alta, ma alcuni moduli sembrano mancare, quindi non posso garantire per la parte h264. Tuttavia, ho sentito cose positive sull'encoder.

3

IANAL, ma se siete spedizione brevetti software vengono applicate ovunque, non solo si deve pagare i canoni MPEG LA per la decodifica H.264, ma il licenseforza si preclude la possibilità di utilizzare i decoder open-source comunque. Ho sentito parlare di fastidi simili applicati ad altri codec.

2

IANAL.

Se spedisci binari non modificati creati da una sorgente GPL non modificata e la tua applicazione li richiama semplicemente, credo che la tua intera app non debba essere GPL. Potrebbe essere necessario includere la documentazione GPL e/o l'origine delle app GPL in dotazione, ma se non si apportano modifiche o collegamenti con il codice GPL, il codice non deve essere modificato.

Per quanto riguarda gli standard MPEG, che possono essere un altro sacchetto di vermi interamente ...

+0

Sì, lo facciamo ora, invocando semplicemente mplayer. L'obiettivo futuro è integrare video e altri contenuti in un risultato senza interruzioni, possibilmente con trasparenza o altri effetti. Il pensiero corrente è, per fare ciò con prestazioni ragionevoli, deve essere integrato. –

+2

IANAL, ma sarei cauto nel confondere LGPL e GPL qui. Quello che descrivi sarebbe corretto al 100% per il codice LGPL, ma probabilmente se il componente GPL che stai spedendo + non piaccia come binario è una parte dell'intera applicazione, allora l'intera applicazione deve essere GPL. http://www.gnu.org/philosophy/why-not-lgpl.html – damian

+0

per chiunque non riconoscesse l'acronimo, IANAL sta per "I am not a lawyer". – Wyatt8740

1

Prendere uno sguardo allo Intel IPP Libraries. Non sono gratuiti, ma sono molto economici (un pagamento una tantum di cento dollari o qualcosa del genere). Puoi anche ottenere una valutazione gratuita per provarlo. La licenza è molto aperta e, per quanto ne so, ti consente una distribuzione illimitata nella tua applicazione per sempre una volta acquistata.

9

Il decodificatore ffmpeg H.264 è LGPL. Solo gli encoder sono GPL e x264 non fornisce un decodificatore.

Ha inoltre il vantaggio rispetto a Framewave e IPP di essere effettivamente utilizzabili.

+0

Al momento ci sono alcuni codificatori non GPL: http://stackoverflow.com/a/39338135/32453 – rogerdpack

2

Cisco ha rilasciato una licenza BSD- libreria h264 per codifica e decodifica.

Vorrei che tu usassi semplicemente GPL, ma non ho intenzione di dirti di farlo quando c'è una risposta là fuori.

http://www.openh264.org/
e la pagina GitHub:
https://github.com/cisco/openh264

+0

Si noti che è necessario pagare i diritti reali MPEG-LA durante la compilazione e la distribuzione. Sarebbe interessante se uno schema simile a quello che @HUAGHAGUAH dice su GPL si applica (invocando direttamente). –

Problemi correlati