php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.07.2007, 15:25  
Benutzer
 
Registriert seit: 17.07.2007
Beiträge: 34
FreAkaZoiD
Standard CLOSED: Binärdaten eines WMV ausgeben...

Hallo zusammen,

Da ich für einen Dateiexport Videos als Binärcode in einem XML ausliefern soll und ich damit noch NULL erfahrung habe würde ich davor gern mit einem drüber reden der davon Ahnung hat.

Über X Seiten habe ich es geschafft den Binärcode eines WMV (18MB) auszugeben. Leider bin ich mir da aber nicht sicher ob es

a) wirklich der Code ist wie er ausgeliefert werden soll
b) es wirklich die beste Lösung ist Dateien zu auszuliefern

Hier mal ein Bild eines Teils des "Binärcodes"



Falls jemand anhand des Bildes schon sieht dass das so nicht stimmen kann, hier auch gleich mein 2-Zeiler:

PHP-Code:
$pfad '../_archiv/videos/testvideo.wmv';
echo 
addslashes(fread(fopen($pfad"r"), filesize($pfad))); 
Danke schonmal für jeden Hinweis
__________________
<! -- it´s not a bug - it´s a feature -- >
FreAkaZoiD ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.07.2007, 15:36  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Binärdaten eines WMV ausgeben...

Das ist kein Binärcode, dieses Ergebniss erziehlst du einfach, indem du z.B.
ein Bild mit einem simplen Text-Editor ausgeben lässt.
Zitat:
Zitat von FreAkaZoiD
Da ich für einen Dateiexport Videos als Binärcode in einem XML ausliefern soll
Klingt nach einer absoluten Denkstöreng seitens des Auftraggebers.
Warum sollte man den Binärcode einer Datei in einem XML-File speichern,
zumal es sich auch noch um ein Kompressionsformat handelt?

Klär uns doch mal über das Ziel dieser Übung auf, vieleicht können wir ja Abhilfe
schaffen.

Btw. ein Dateiexport umfasst den Export von Dateien, wie der Name schon vermuten
lässt. XML wird meistens als Austausch- bzw. Exportformat genutzt, so dass
sich z.B. Datenbankeinträge in ein anderes Programm überführen lassen.
Dabei wird eine XML-Datei erstellt. Sind nun aber auch Bilder oder, wie in deinem
Fall, Videos enthalten, werden diese Einfach als Datei exportiert. WMV ist ja
ein etabliertes Windowsformat, warum sollte man es nicht auch als solches "exportieren"?
phpdummi ist offline  
Alt 17.07.2007, 15:46  
Benutzer
 
Registriert seit: 17.07.2007
Beiträge: 34
FreAkaZoiD
Standard Re: Binärdaten eines WMV ausgeben...

Zitat:
Zitat von phpdummi
Klär uns doch mal über das Ziel dieser Übung auf, vieleicht können wir ja Abhilfe
schaffen.
Also, ich arbeite für ein kleines Videoportal.
Nun gibt es eine Partnerfirma die unsere Videoclips auf Ihrer Website einbinden wollen. Dazu haben die mir ein Muster XML mit folgender Struktur geschickt:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sixcms_data SYSTEM "http://www.sixcms.de/dtd/sixcms-1.2.dtd">
<sixcms_data>

<sixcms_article>
	<title>TITEL DES VIDEOS</title>

	<field name="bild_upload" type="upload" filename="startbild.jpg" filesize="27188" mimetype="image/jpeg" mode="data">BINÄRE AUSGABE DES BILDES</field>
=> falls kein Bild, dann weglassen

	<field name="datei_upload" type="upload" filename="EinarmRudernI.flv" filesize="343507" mimetype="application/octet-stream" mode="data">BINÄRE AUSGABE DES VIDEOS</field>

	<field name="datei2_upload" type="upload" filename="EinarmRudernII.flv" filesize="545201" mimetype="application/octet-stream" mode="data">BINÄRE AUSGABE DES VIDEOS</field>
=> falls kein 2tes Video, dann weglassen

	<field name="eventdate" type="datetime">25.02.2007</field>
</sixcms_article>

</sixcms_data>
Ich werde auf alle Fälle versuchen die Leute von dem Codegedöns abzubringen, nur was wenn die drauf bestehen ? Wie bekomm ich denn dann an den richtigen Binärcode des Clips !?

Edit:
Meine Lösung wäre ja einfach den Pfad zur Datei zu übergeben, aber....
__________________
<! -- it´s not a bug - it´s a feature -- >
FreAkaZoiD ist offline  
Alt 17.07.2007, 16:40  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich verstehe auch nicht gegen eine Pfadangabe spricht.
Okay, SixCMS ist eine sehr teure Enterprise Lösung, dennoch glaube ich nicht das die einen
WMV Encoder an Bord haben. WMV ist soweit ich weiß immer noch Closed, oder nur gegen
Lizenzgebühren nutzbar.

Ich glaube da liegt ein großes Missverständniss vor, denn erst encodieren und in eine XML
Datei packen, um es dann (sehr zeitaufwändig) wieder zu decodieren kann nicht wirklich
gewollt sein. Eine gepackte Datei, die eine XML Datei mit den nötigen Pfadangaben
enthält ist in jeder hinsicht praktischer.

Vieleicht will euer Partner ja einfach nur seinen Eigenen Player zum Abspielen
benutzen, wer SixCMS nutzt sollte aber auch einen Player an Bord haben der
dies ermöglicht.

Falls du dennoch Binärcode liefern musst, guck dir mal ein Paar Decoder für
die Kommandozeile an, die könntest du auf einer Linux Maschine zusammen
mit der PHP Anwendung ,die das XML-File erzeugt, aufrufen.

Frag doch einfach noch mal nach warum Binärdaten gewünscht sind ...
phpdummi ist offline  
Alt 17.07.2007, 18:34  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und willkommen im Forum!
das ganze per XML zu verschicken ist eine Schnapsidee von jemandem der keine Ahnung hat. XML ist auf Text-Daten zugeschnitten, nicht auf Binärcode. Der XML-Parser muss den ganzen Binärcode durchwandern (18 Mio. Bytes!), um das Tag-Ende zu finden, das ist ein so sinnloser Bearbeitungsoverhead. Ich bin nicht sicher, ob PHP da nicht an seine Speichergrenzen stößt, auch wenn es durch C-Code erledigt wird, muss der Tag-Content ja für PHP bereitgestellt werden - oder welche Technologie liest auf der anderen Seite das XML aus?. Sinn würde es höchstens machen, einen Pfad zu übergeben, an dem die WMV-Datei zu finden ist. Dann kann die Übertragung ja über die Netzwerkschicht laufen, da muss nix geparsed werden.

Offenbar scheint ja aber das komplete System samt XML-Schema vorgegeben, was hieße, du hast überhaupt keinen Spielraum! Hoffen wir dass sich das Projekt noch in der Entwicklungsphase befindet und diese Idee aufgegeben wird.

Falls du noch irgendwie Einfluß auf das Format hast, base64_encode() den Binärcode, mit addslashes() zerhaust du dir möglicherweise alles.
http://de.php.net/base64_encode
http://de.php.net/base64_decode
Zitat:
base64_encode() gibt data in base64-kodierter Form zurück. Diese Form des Encodings wurde entworfen, um Binärdaten unbeschädigt mittels Technologien wie E-Mail übertragen zu können, die nicht korrekt mit 8-Bit-Zeichen umgehen.
Ich würde aber nocheinmal beim Betreiber anklopfen. Wenn die schon so schlampig ihre Transport-API festlegen, möcht ich nicht wissen, was da noch so verbrochen wird. Lass dich auf jeden Fall für die Arbeit vorweg bezahlen, da sind Amateure am Werk!
Zergling-new ist offline  
Alt 18.07.2007, 07:55  
Benutzer
 
Registriert seit: 17.07.2007
Beiträge: 34
FreAkaZoiD
Standard

@ phpdummie & Zergling:

Vielen Dank für eure Statements!
Werde das ganze nochmal mit dem Auftraggeber abklären.

LG aus Wien
__________________
<! -- it´s not a bug - it´s a feature -- >
FreAkaZoiD ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
verschachtelte Rubriken ausgeben / alle anzeigen prinzli PHP Tipps 2008 3 25.02.2008 22:37
mysql - text ausgeben dws PHP Tipps 2006 14 15.06.2006 22:50
Höchste IP ausgeben krummzahn PHP Tipps 2005-2 9 17.10.2005 00:16
Mysql: Daten nach Anfangsbuchstaben Sortiert Ausgeben PHP Tipps 2005-2 5 09.07.2005 15:56
zahl ausgeben wenn gerade Tschuu PHP Tipps 2005-2 6 07.07.2005 19:20
Ausgeben der Tabelle GrU3nL!nG Datenbanken 2 30.05.2005 15:57
ausgeben nach datum möchtegernchegga PHP Tipps 2005 8 04.05.2005 17:22
Funktion ausgeben PHP Tipps 2005 8 10.01.2005 17:18
Daten aus DB gruppiert ausgeben?! medico PHP Tipps 2005 9 07.01.2005 09:38
Strings Teilweise ausgeben PHP Tipps 2004-2 8 09.12.2004 13:18
[Erledigt] Array ausgeben PHP Tipps 2004-2 4 05.12.2004 00:53
[Erledigt] Ganze Tabelle ausgeben PHP Tipps 2004-2 1 21.11.2004 16:48
Liste ausgeben PHP Tipps 2004 3 25.10.2004 10:31
datenbank: gleiche zeileninhalte nur 1 mal ausgeben PHP Tipps 2004 1 16.10.2004 20:23
spalte auswählen und alle einträge ausgeben Datenbanken 6 02.08.2004 13:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xml kompressionsformat, <sixcms_data>, pfad als binärcode, binärcode als pfad, php fread wmv, php binärcode als bild ausgeben, \'http://www.sixcms.de/dtd/sixcms-1.2.dtd\', binärcode parser, wmv mittels php übertragen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:41 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.