qtkrparse.php

deutsch german
english english

deutscher Text QTVR-Dateien für KRPano

aktuelle Version: 2.1

Funktion

qtkrparse.php hat zwei Funktionen: Der erste Teil liest aus einer Quicktime VR Datei die Parameter und Dateioffsets der Bilddaten und erzeugt daraus eine XML-Datei,  eine Datei mit der Zugriffsinformation und ein Vorschaubild. Der zweite Teil lädt mit Hilfe dieser Information und der krpano-Nummerierung der Kacheln die Bilddaten direkt aus der QTVR-Datei in den Flash-Player.

Vorbedingungen

Außer den Bedingungen für KRPano muß der Server PHP-Skripte ausführen können. qtkrparse.php muß im gleichen Verzeichnis wie die QTVR-Datei(en) liegen (es ist möglich, qtkrparse.php per mod_rewrite einzublenden). In diesem Verzeichnis muß PHP Schreibrechte haben.

krpano.swf muß mindestens in Version 1.0.3 vorliegen.

In QTVR-Dateien sind nur Jpeg-komprimierte Bilder erlaubt, Headerkompression wird nicht unterstützt. krpano gibt entsprechende Fehlermeldungen aus, wenn eine solche Datei vorliegt. 

Anwendung

qtkrparse.php wird mit der QTVR-Datei als GET-Parameter "mov" statt der XML-Datei an krpano.swf übergeben. Es empfiehlt sich hier die Methode mit Javascript per SWFObject zu verwenden, z.B.:
var so = new SWFObject("krpano.swf", "krpanoSWFObject", "100%", "100%", "9.0.28","#000000");
so.addVariable("pano", "qtkrparse.php?mov=mein.mov");
Details zum Einbetten von krpano siehe http://www.krpano.com/docu/html/
Auch der direkte Aufruf per GET-Parameter ist möglich:
krpano.swf?pano=qtkrparse.php%3Fmov=mein.mov
Da der doppelte GET-Trenner "?" einige Browser verwirren würde, ist es besser das zweite "?" als "%3F" zu maskieren.

Details

Versionsgeschichte

v1.0: 12.6.2008
        - erste öffentliche Version
v1.1: 22.6.2008
        - "Expires" und "Last-Modified" header gesetzt um caching zu ermöglichen
v1.2: 24.7.2008
        - kompatible mit den neuesten php versionen
v2.0: 18.8.2008
        - benutzt das QTVR Vorschaubild (falls vorhanden).
        - Der interne Fehler-Mechanismus berücksichtigt jetzt die aktuelle Einstellung von error_reporting
v2.0.1: 9.9.2008
        - bugfix: apache_request_headers erzeugte Fehler wenn nicht existent.
v2.1: 14.9.2008
        - Unterteilung der Würfelflächen (subtiling) wird jetzt auch  für eine gerade Anzahl pro Seite unterstützt (2x2, 4x4, 6x6...)


Beispiele / Debugging

Alle Kugelpanoramaen auf http://pano.erik-krause.de werden mit Hilfe von qtkrparse dargestellt wenn man Flash als Fullscreen-Viewer wählt. Die Aufrufe sind allerdings hinter ein paar Rewrite-Regeln versteckt. Man kann die Panoramen allerdings auch manuell aufrufen:
Diese Art des Aufrufs kann u.a. verwendet werden, um herauszufinden, warum ein Panorama nicht lädt.

HTML-Konverter

Um bestehende HTML-Seiten die QTVR einbinden nicht neu erstellen zu müssen, gibt es convert2.php als Teil des Birdcap-Pakets von Bernhard Vogl . Die für qtkrparse erweiterte Version liegt bei. Um eine bestehende Seite zu für krpano zu ändern wird sie in einem link an convert2.php als Parameter übergeben, z.B.:
<a href="convert2.php?file=panorama.html&format=krpano">Flash-Version</a>
convert2.php ersetzt das <object> und <embed> tag von Quicktime durch einen entsprechenden Aufruf von SWFObject mit krpano.swf.

qtkrparse.zip herunterladen

Fragen, Anregungen, Kommentare und Korrekturen bitta an mich

deutscher TextQTVR-files for KRPano

current version: 2.1

Function

qtkrparse.php has two functions: The first part reads parameters and offsets of images from a Quicktime VR file and creates from this a XML file, a file with the offset info and a preview image. The second part loads the image data directly from the QTVR-file into the flash player with help from the krpano numbering and the offsets file.

Prerequisites

The server must be suitable for KRPano of course and must be able to execute PHP scripts. qtkrparse.php must reside in the same directory as the QTVR file(s) (it is possible to mirror qtkrparse.php by mod_rewrite). PHP must have write rights in this directory.

krpano.swf must be at least version 1.0.3.

The QTVR-files must contain only Jpeg-compressed images. Header compression is not supported.krpano issues an error message if such a file is found. 

Usage

qtkrparse.php must be used with the QTVR file as GET parameter "mov" instead of the XML file by krpano.swf. It is advisable to use SWFObject and javascript to do this, f.e.:
var so = new SWFObject("krpano.swf", "krpanoSWFObject", "100%", "100%", "9.0.28","#000000");
so.addVariable("pano", "qtkrparse.php?mov=my.mov");
For details on how to embed krpano please see: http://www.krpano.com/docu/html/
Even the direct call with GET parameter is possible:
krpano.swf?pano=qtkrparse.php%3Fmov=my.mov
The double GET-delimiter "?" does not work with some browsers hence it is better to mask the second "?" as "%3F".

Details

HTML-Converter

In order to use existing  HTML pages with embedded QTVR without the need to create them again there is convert2.php as a part of the  Birdcap-package by Bernhard Vogl . A version extended for qtkrparse is enclosed in the download. To display an existing page with krpano pass it as a parameter to convert2.php in a link, f.e.:
<a href="convert2.php?file=panorama.html&format=krpano">Flash version</a>
convert2.php replaces the <object> and <embed> Quicktime tag by an apprpropriate call of SWFObject with krpano.swf. You need SWFObject 1.5, of course. For details see

Version History

v1.0: 2008-6-12
        - first public Version
v1.1: 2008-6-22
        - "Expires" and "Last-Modified" header set in order to allow caching
v1.2: 2008-7-24
        - compatible with recent php versions
v2.0: 2008-8-18
        - uses an optional QTVR preview image
        - internal error mechanism now uses current error_reporting setting.
v2.0.1: 2008-9-9
        - bugfix: apache_request_headers caused error if not defined.
v2.1: 2008-9-16
        - Subtiled cube faces can now contain an even number of subtiles along one side, too (3x3, 4x4, 6x6,...)

Examples / Debugging

All Sphericals on http://pano.erik-krause.de are displayed with the help of  qtkrparse.php if you choose Flash als fullscreen viewer. The calls are hidden behind some rewrite rules. But you can call the panoramas manually, too:
These kind of calls can be used f.e. to determine the reason why a panorama won't display.

download qtkrparse.zip

For questions, suggestions, comments and corrections please contact me

 Erik Krause 2008