Abmessungen eines FLV ermitteln
Felix Riesterer
- multimedia (audio & video)
Liebe Flash-Spezialisten,
ich suche nach einer Möglichkeit in PHP die Abmessungen eines FLV-Videos zu ermitteln. Dabei muss ich kein Bild extrahieren können (wäre natürlich schön), denn ich bin nur an den Maßen für Höhe und Breite des Videos interessiert.
Hintergrund: In meinem CMS möchte ich serverseitig ermitteln, welche Maße das einzubindende Video hat, um seine native Größe auf der Seite zu garantieren.
Meine bisherigen Nachforschungen haben mich zu ffmpeg geführt, das auf meinen shared hosting-Account zu installieren ich mir nicht wirklich zutraue. Geht es nicht einfacher?
Liebe Grüße,
Felix Riesterer.
Hi Felix.
Sofern Du auf Deinem Shared Hosting Ruby zur Verfügung hast, könntest mit folgendem schon recht weit kommen:
http://blog.inlet-media.de/flvtool2/
Ansonsten sind dort auch die Ruby Sourcen verfügbar und mit hinreichend Zeit nach PHP portierbar.
Eine mplayer / ffmpeg Lösung wird Dir im Zweifel bessere Ergebnisse liefern und ist auch die einzig mir bekannte Lösung, um an die Inhalte, sprich die Frames ("Bilder") heranzukommen.
Grüße
Lieber Dirk,
http://blog.inlet-media.de/flvtool2/
werde ich mir ansehen. Danke für den Link!
Ansonsten sind dort auch die Ruby Sourcen verfügbar und mit hinreichend Zeit nach PHP portierbar.
Nee, das schaffe ich nicht. Ruby ist für mich so fremd wie die durchschnittliche Siliziummenge in einem Kubikmeter Gestein auf dem Merkur...
Eine mplayer / ffmpeg Lösung wird Dir im Zweifel bessere Ergebnisse liefern und ist auch die einzig mir bekannte Lösung, um an die Inhalte, sprich die Frames ("Bilder") heranzukommen.
Ich werde mal sehen, wie weit ich mit der Ermittlung der Abmessungen komme. Bilder aus Frames sind bisher absolut nebensächlich.
Liebe Grüße,
Felix Riesterer.
Hi,
ich suche nach einer Möglichkeit in PHP die Abmessungen eines FLV-Videos zu ermitteln. Dabei muss ich kein Bild extrahieren können (wäre natürlich schön), denn ich bin nur an den Maßen für Höhe und Breite des Videos interessiert.
ich habe mir mal einige flv im HEX-Editor angesehen und mir scheint, dass die Daten im Dateikopf enthalten und auch mit einfachen Stringfunktionen leicht zu ermitteln sind. Dort befinden sich nämlich die Zeichenketten "width" und "height" gefolgt von 00 40 und einem weiteren Byte, das die Größe repräsentiert.
Allerdings gibt dieses Byte die Größe nur indirekt an - das High-Nibble repräsentiert die eigene Wertigkeit und die des Low-Nibble. Etwas kompliziert, daher ein paar Beispiele:
64 => Wertigkeit 128/ 8: 128 + 4* 8 = 160px
6E => Wertigkeit 128/ 8: 128 + 14* 8 = 240px
74 => Wertigkeit 256/16: 256 + 4*16 = 320px
7E => Wertigkeit 256/16: 256 + 14*16 = 480px
84 => Wertigkeit 512/32: 512 + 4*32 = 640px
freundliche Grüße
Ingo
Lieber Ingo,
WOW! Da hast Du mir schon sehr wertvolle Forschungsarbeit abgenommen. Ich werde mir das einmal zur Brust nehmen und ausprobieren.
Liebe Grüße,
Felix Riesterer.
Es scheint auch ein zugehöriges Projekt bei Google Code zu existieren.
Christoph