2009-03-21 9 views
13

Die Hauptspieler scheinen x264 und xvid zu sein, und beide sind GPL. Das bedeutet, dass wir keine Dekodierungsfunktionen in eine Wiedergabeanwendung integrieren können, ohne das Ganze als GPL zu lizenzieren, so dass wir auch keines davon verwenden können.Free/Open h.264 Videodekodierungsbibliotheken? (Nicht-GPL)

Die bevorzugte Zielplattform ist Linux. Jede nicht-virale offene Lizenz ist in Ordnung, wir sind mehr als glücklich, die Quelle aller Änderungen, die wir an Bibliotheken vornehmen, zu liefern, nur nicht unsere gesamte Anwendung.

Gibt es etwas? Oder sollten wir GPL vorläufig als Test während der Entwicklung verwenden und vor dem Versand mit kommerziell lizenziertem Codec ersetzen?

+3

xvid kein H.264-Codec ist, ist es ein MPEG-4 Part 2-Codec. –

Antwort

2

Ein Projekt aus der AMD-Leistungsbibliothek Framewave verfügt jetzt über eine Videokomponente, die die h.264-Decodierung unterstützt.

Die Lizenz ist die "Apache 2.0 Lizenz"

Sie es heraus bei Sourceforge SVN

+0

Danke, ich sah das und überging es, angenommen es war nur AMD. –

1

Ok überprüfen, erscheint FFMpeg h.264 zu handhaben. Ich glaube, das meiste ist LGPL.

Würde immer noch gerne Erfahrungen damit (gut oder schlecht) oder andere Optionen, danke zu hören.

- Korrektur, die Version, die ich gerade getestet habe, scheint mit "--enable-gpl" kompiliert zu sein, was mich davon überzeugt, dass es GPL lizenzierte Codecs nutzt. Argh!

+0

FFMPEG verbindet sich optional mit x264, und wenn dies der Fall ist, fällt es unter die GPL. Die Lizenzauswahl hängt von den Konfigurationsoptionen ab und ich glaube, dass x264 für die Unterstützung von h.264 benötigt wird. – greyfade

+0

Ist Ihre App durch die GPL infiziert, wenn sie nur ffmpeg über system() oder popen() aufruft? – mouviciel

+0

^^ IANAL, aber ich denke, wenn Sie die GPL-Binärdateien mit Ihrer App versenden, dann wohl, ja. – damian

0

Ich habe einige Arbeit mit FFmpeg getan, obwohl es auf libavformat beschränkt war (der Codec-Teil heißt libavcodec). Ich fand die API überraschend einfach und einfach zu bedienen. Sie bieten einige wirklich nützliche und aufschlussreiche Beispiele in der Standardquellenverteilung.

Im Allgemeinen enthält die Bibliothek ziemlich hohe Qualität, aber einige Module scheinen zu fehlen, so dass ich nicht für den h264 Teil bürgen kann. Ich habe gute Dinge über den Encoder gehört.

3

IANAL, aber wenn Sie irgendwo Softwarepatente sind Versand erzwungen werden, nicht nur, dass Sie die MPEG LA Lizenzgebühren für H.264-Decodierung zahlen, aber die licenseMacht ausschließen Sie von der Nutzung des Open-Source-Decoders jedenfalls. Ich habe von ähnlichen Ärgernissen gehört, die für andere Codecs gelten.

2

IANAL.

Wenn Sie unmodifizierte Binärdateien aus einer nicht modifizierten GPL-Quelle versenden und Ihre Anwendung diese einfach aufruft, glaube ich, dass Ihre gesamte App nicht GPL sein muss. Möglicherweise müssen Sie die GPL-Dokumentation und/oder die Quelle der gebündelten GPL-Anwendungen einbeziehen. Wenn Sie jedoch keine Änderungen oder Verknüpfungen mit GPL-Code vornehmen, sollte Ihr Code davon unberührt bleiben.

Was die MPEG-Standards, die eine ganz andere Tasche von Würmern sein kann ...

+0

Ja, das machen wir jetzt, indem wir einfach mplayer aufrufen. Das zukünftige Ziel ist es, Videos zusammen mit anderen Inhalten in ein nahtloses Ergebnis zu integrieren, möglicherweise mit Transparenz oder anderen Effekten. Das aktuelle Denken ist, um dies mit angemessener Leistung zu tun, muss es integriert werden. –

+2

IANAL entweder, aber ich würde vorsichtig sein hier LGPL und GPL zu verwechseln. Was Sie beschreiben, wäre zu 100% korrekt für LGPL-Code, aber wenn die GPL-Komponente, die Sie versenden und nicht als binär mag, ein Teil der gesamten Anwendung ist, dann muss die gesamte Anwendung auch GPL sein. http://www.gnu.org/philosophy/why-not-lgpl.html – damian

+0

für jeden, der das Akronym nicht erkannt hat, steht IANAL für "Ich bin kein Anwalt". – Wyatt8740

1

Nehmen ein Blick auf die Intel IPP Libraries. Sie sind nicht kostenlos, aber sind sehr billig (eine einmalige Zahlung von hundert Dollar oder etwas). Sie können auch eine kostenlose Bewertung erhalten, um es zu testen. Die Lizenz ist sehr offen, und soweit ich weiß, erlaubt es Ihnen unbegrenzte Verbreitung in Ihrer Anwendung für immer, sobald Sie es kaufen.

9

Der ffmpeg H.264-Decoder ist LGPL. Nur die Encoder sind GPL und x264 bietet keinen Decoder.

Es hat auch den Vorteil gegenüber Framewave und IPP tatsächlich nutzbar zu sein.

+0

Es gibt einige nicht GPL Encoder in diesen Tagen: http://StackOverflow.com/A/39338135/32453 – rogerdpack

2

Cisco veröffentlicht eine BSD-Lizenz h264-Bibliothek zum Kodieren und Dekodieren.

Ich wünschte, Sie würden nur GPL verwenden, aber ich werde Ihnen nicht sagen, dass Sie das tun, wenn es eine Antwort gibt.

http://www.openh264.org/
und die GitHub Seite:
https://github.com/cisco/openh264

+0

Beachten Sie, dass Sie MPEG-LA royaltete zahlen müssen, wenn Sie es kompilieren und verteilen. Es wäre interessant, wenn ein ähnliches Schema zu dem, was @HUAGHAGUAH über GPL sagt, gilt (direkt aufrufen). –