plattformunabhängige Bibliothek zur Medien-Wiedergabe

Persönliche Seite #2176799
Lesenswert?

Hallo,
gleich vorweg, ich habe etwas "komplizierte" Ansprüche, aber da ihr mir 
bisher immer gut helfen konntet, will ich es nun zuerst mal bei hier 
versuchen ;)
Ich bastle momentan an einem MediaCenter auf QT-Basis. Layout, 
Medienbibliothek, ... ist soweit schon im "Grundstadium" schon fertig. 
Nun fehlt noch das wichtiges: Die Wiedergabe.

Dafür bräuchte ich eine plattformunabhängige Bibliothek, die zumindest 
auf Linux und Windows läuft. Am besten wäre es, wenn diese Bibliothek 
unter der LGPL stehen würde (ich also nicht meinen Code veröffentlichen 
muss).
Wiedergeben müsste sie Videos und Musik, und diese sollte sie auch 
streamen (http) können.
Videos sind meist im mkv/mpg Format und h264/mpeg codiert, Ton-Spur ist 
dts, AC3 oder halt einfach Stereo.
Musik liegt im mp3, ogg, wav, flac und als DTS/AC3 in einem 
mka-Container vor.
Des weiteren wäre es nicht schlecht, wenn ich für "Sound'n'Light" eine 
FFT der Tonausgabe machen könnte.

Also, wie ihr seht, bin ich ein nicht ganz einfacher Fall, mit all den 
Wünschen ;)
Das mit dem Streamen denke ich könnte ich auch einfach umgehen, indem 
ich das selbst in Software übernehme (Cachen etc.) und einfach den 
gecachten Stream aus dem RAM übergebe.
Die recht große Vielfalt an versch. Formaten und Containern macht das 
ganze natürlich recht kompliziert, von daher würde ich am liebsten die 
vorinstallierten Codecs nutzen und bei Bedarf zusätzliche Codecs 
nachinstallieren. Für FLAC gibt es ja eine freie Bibliothek, bei mpeg 
und h264 dürfte das aber wesentlich komplizierter werden...

Nur was für eine Bibliothek benutze ich dafür nun am besten? Wäre SDL 
dafür geeignet? Oder soll ich mal die in QT integrierte 
Phonon-Bibliothek probieren? Oder gibt es da direkt schon ein 
KO-Kriterium?
Oder wie sieht es mit ffmpeg oder libav aus?

Evtl. hat einer ja schon sowas änhliches gemacht und könnte mir da 
weiterhelfen :)

Viele Grüße
Julian
Persönliche Seite #2177927
Lesenswert?

Die VLC-Lib hab ich mir schon angeschaut, die steht jedoch "leider" 
unter der GPL, womit ich mein komplettes Projekt auch unter die GPL 
stellen müsste, dies wollte ich aber eigentlich vermeiden...

Aber ich habe mir ffmpeg mal näher angeschaut und das sieht ganz 
brauchbar aus. Nur in wie weit sieht das mit der Architektur aus? Vor 
allem hat sich das Projekt ja momentan zersplittert, welche Konsequenzen 
hat das eigentlich für mich?

ffmpeg ist ja eine Sammlung von Codecs. Übernimmt ffmpeg auch die 
Anzeige/Ausgabe der Medien? Oder übergebe ich ffmpeg einfach den 
Rohstream und erhalte Bild und Ton und muss mich noch selbst um die 
Ausgabe derer kümmern?

Also quasi so:
Stream -> Cache -> ffmpeg -> Ausgabe (z.b SDL?)

Auf jeden Fall schon mal Danke für die Antwort!
Gast #2178024
Lesenswert?

Julian W. schrieb:
> Ich bastle momentan an einem MediaCenter auf QT-Basis. Layout,
> Medienbibliothek, ... ist soweit schon im "Grundstadium" schon fertig.
> Nun fehlt noch das wichtiges: Die Wiedergabe.
>
> Dafür bräuchte ich eine plattformunabhängige Bibliothek, die zumindest
> auf Linux und Windows läuft.

Hmm, wie wär's denn mit Qt? ;-)

http://doc.qt.nokia.com/latest/phonon-module.html
Persönliche Seite #2178031
Lesenswert?

Julian W. schrieb:
> die steht jedoch "leider"
> unter der GPL

Man kann VLC glaub ich auch als DLL anbinden, k.A. wie das dann 
rechtlich aussieht. Willst du den später das Programm überhaupt 
veröffentlichen? Für den internen Gebrauch ist es ja unschädlich.

Julian W. schrieb:
> der übergebe ich ffmpeg einfach den
> Rohstream und erhalte Bild und Ton und muss mich noch selbst um die
> Ausgabe derer kümmern

Das würde ich jetzt mal so vermuten, zumindest sollte das möglich sein. 
Da du aber ja eh vermutlich deine eigenen Steuer/Ausgabekomponenten 
haben wollen wirst, sollte das ja nicht unschädlich sein oder?

Es gibt einige Wrapper (z.B. FOBS4J, nutze ich unter Java mit Win/Linux) 
die ffmpeg nutzen, eventuell kann man sich da was abschauen.

Ganz einfach sowas zu bauen ist aber alles nicht... der ganze 
Video/Audiokram ist recht nervig was die Abhängigkeiten betrifft, etwas 
Erfahrung sollte also da sein.
Persönliche Seite #2178035
Lesenswert?

Nunja, "kann" Phonon überhaupt das, was ich brauche?

Leider habe ich nicht sooo viel dazu gefunden, aber scheinbar nutzt 
Phonon die auf dem System installierten Codecs, was ich eher vermeiden 
möchte. ffmpeg bringt ja selbst die Codecs mit, am System muss also 
nichts verändert werden und es würde auch "überall" laufen, egal was der 
Benutzer für Codecs installiert hat.
Zudem, kann ich Phonon einfach mit einem Datenstrom füttern? Kann Phonon 
mkv/mka verarbeiten? Was passiert, wenn eine mkv-Datei 2 Audio-Streams 
hat? Mir erscheint da Phonon "zu simpel" gestrickt zu sein, da ich 
"später" schon eine etwas komplexeres Handling mit Medien-Dateien 
benötige...

Auch das Vorspulen bereitet mir jetzt schon Kopfzerbrechen, da ich die 
Daten ja meist streamen muss....
Persönliche Seite #2178042
Lesenswert?

Läubi .. schrieb:
> Man kann VLC glaub ich auch als DLL anbinden, k.A. wie das dann
> rechtlich aussieht. Willst du den später das Programm überhaupt
> veröffentlichen? Für den internen Gebrauch ist es ja unschädlich.

Nunja, damit wäre mein Werk ja von einem GPL-Werk abgeleitet, und damit 
müsste es doch auch unter die GPL fallen...
Zuerst einmal würde ich es nur intern nutzen, aber da ich da wohl viel 
Arbeit investieren werde, würde ich es auch gerne irgendwann mal 
veröffentlichen, und ich weiß nicht, ob mir dann die GPL zusagen wird, 
von daher würde ich mich hier noch gerne alle Optionen offen halten.
Persönliche Seite #2178061
Lesenswert?

Julian W. schrieb:
> müsste es doch auch unter die GPL fallen...

Wenn du es veröffentlichst/verkaufst/verschenkst/... ja

Julian W. schrieb:
> von daher würde ich mich hier noch gerne alle Optionen offen halten

Du kannst dir auch eine Abstraktionsschicht ausdenken und erst mal damit 
alles "probieren", eventuell gefällt es dir so gut und geht derart 
leicht von der Hand, dass die Vorteile die "Nachteile" der GPL 
überwiegen.

Aber ansonsten halte ich es wie du und versuche GPL in eigenen Projekten 
zu vermeiden.
Persönliche Seite #2178086
Lesenswert?

So, ich habe mal etwas mit Phonon rumgespielt, besser gesagt mit der 
AudioPlayer-Demo und muss sagen, ich bin positiv überrascht. Alle 
geforderten Medien-Dateien werden abgespielt.

Nur leider habe ich keine (funktionierende) VideoPlayer-Demo gefunden. 
Weiß einer, wo die sich befindet bzw. hat gerade eine parat?

Mich würde noch interessieren, wie Phonon die Medien wiedergibt, also ob 
es die Codecs des PCs nutzt oder eigene Codecs nutzt, sodass ich sicher 
sagen kann, das auf jedem PC diese Dateien wiedergegeben werden können?
Zudem würde mich interessieren, in wieweit ich die Tonausgabe 
analysieren kann, z.B. in Form einer FFT? Wäre sowas mit Phonon möglich?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren