mpeg
-
hallo,
wie kann man sich nen abspielen von (mpeg-)videos abspielen? werden einfach die einzelbilder extrahiert und dann hintereinander angezeigt?
gibts vll nen bsp wie dies von vlc gemacht haben (außer den source, der is ja kaum zu überblicken)mfg blan
-
blan schrieb:
wie kann man sich nen abspielen von (mpeg-)videos abspielen?
blan schrieb:
werden einfach die einzelbilder extrahiert und dann hintereinander angezeigt?
Klar.
Aber die liegen nicht alle einzeln komprimiert da rum, die hängen tlw. voneinander ab (B-, I-, P-Frames).
-
kannst ja auch mal hier reinschauen:
http://ffmpeg.sourceforge.net/index.php
( oder wenn du es genau wissen willst, die theoretische betrachtungsweise:
ISO/IEC 13818-9
kostet knapp 50 franken bei http://iso.org )
eventuell lohnt auch ein blick nach http://mpeg.org
-
Sgt. Nukem schrieb:
blan schrieb:
wie kann man sich nen abspielen von (mpeg-)videos abspielen?
oh sorry, sollte heißen "wie kann man sich nen abspielen von (mpeg-)videos vorstellen?"
weil ich wollte mal nen eignen player machen, ohne ne komplette lib wie xine oder sowas, haltet ihr das für machbar, bzw kennt jemand sowas (bzw den sourcecode) ?
mfg blan
-
Ja ich kenne sowas... Xine z.B.
Machbar? Für Dich wohl eher nicht
Ist nicht böse gemeint, aber nicht umsonst haben xine, ffmpeg und mplayer (nur um einige Beispiele zu nennen) Jahre gebraucht um so weit zu kommen wie sie sind. MPEG ist ein komplexes Komprimierungsverfahren, welches nicht nur sich wiederholende Daten kürzt. Es bestehen Beziehungen zwischen den Videobildern, will heissen nicht jedes Einzelbild lässt sich Dekomprimieren ohne zuvor andere Einzelbilder zu kennen.
Ach, und zu guter Letzt wäre da noch der Ton, der dekomprimiert und (synchron zum Bild!) abgespielt werden will...
-
jo ok seh ich ein - hab mir auch schon ffmpeg angeschaut.
kann ich dann nun ein bild in meinem gtk / qt programm anzeigen (in nem frame oder so - wie in windows)?mfg blan
-
Video-Player wie xine, mplayer oder vlc benutzen im Endeffekt doch auch externe Codecs, wie ffmpeg, xvid, theora und so weiter.
Die Codecs geben dir die einzelnen Frames, die du dann darstellen musst. Dabei musst du natürlich auch Dinge wie Timing, kaputte Frames und Audio-Syncro einplanen.
-
kingruedi schrieb:
Video-Player wie xine, mplayer oder vlc benutzen im Endeffekt doch auch externe Codecs, wie ffmpeg, xvid, theora und so weiter.
Ich dachte VLC nicht, der macht alles "selbst"...
-
also extrahier ich mit ffmpeg die frames (audio + video?) und zeig die bilder (jpeg, png, ...?) dann in einer picturebox oder QImage oder sowas an?
mfg blan
-
http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html
Die Online API-Referenz scheint leider nicht mehr zu existieren. Aber im Paket war die Doku oder du konntest sie zumindest mit doxygen aus dem Header erzeugen
@Sgt.Nukem
Alles? Ne, glaube ich nicht. Dann wär es entweder viel zu viel Arbeit die ganzen Codecs nach zu programmieren und up-to-date zu bleiben oder du könntest mit dem VLC Player nie aktuelle Codecs abspielen.