qtkrparse.php

deutsch german
english english

deutscher Text QTVR-Dateien für KRPano

aktuelle Version: 3.0

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 KRPano-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 muß mindestens in Version 1.1.8 vorliegen.

In QTVR-Dateien sind nur Jpeg-komprimierte Bilder erlaubt, Headerkompression wird nicht unterstützt. qtkrparse gibt via krpano 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 embedpano übergeben:

<script src="/krpano.js"></script> <script> embedpano({swf:"krpano.swf", xml:"qtkrparse.php?mov=mein.mov", target:"krpano-div-id", html5:"auto"}); </script>

Details zum Einbetten von krpano siehe http://www.krpano.com/docu/html/

Die Flash-Version kann auch direkt per GET-Parameter aufgerufen werden:

krpano.swf?pano=qtkrparse.php%3Fmov=mein.mov
Das zweite "?" muss als "%3F" maskiert werden.

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...)
v3.0: 11.11.2016
- Unterstützung für krpano HTML5 viewer (und damit für tablets und smartphones)
v3.0.1: 12.11.2016
- Kontextmenü mit krpano Projektionen hinzugefügt (in krpano.inc)

Beispiele / Debugging

Alle Kugelpanoramen auf http://pano.erik-krause.de werden mit Hilfe von qtkrparse dargestellt. Die Aufrufe sind allerdings hinter ein paar Rewrite-Regeln versteckt. Man kann die Panoramen aber 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, liegt convert2.php bei (ursprünglich aus dem Birdcap-Paket von Bernhard Vogl). 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">interaktives Panorama</a>
convert2.php ersetzt das <object> und <embed> tag von Quicktime durch einen entsprechenden Aufruf von embedpano.

.htaccess Beispiel für qtkrparse

Wenn die .htm-Dateien mit QTVR Panoramen mittels eines bestimmten Musters erkennbar sind, kann die Arbeit von wenigen Umleitungsregeln erledigt werde.

# Umleitung einschalten RewriteEngine on # angenommen der Ordner, der krpano, qtkrparse.php und convert2.php enthält ist /tools # alle Aufrufe von convert2.php nach /tools umleiten RewriteRule (^|/)convert2\.php$ tools/convert2.php [L] # alle Aufrufe von qtkrparse.php nach /tools umleiten RewriteRule (^|/)qtkrparse\.php(.*)$ tools/qtkrparse.php$2 [L] # alle Aufrufe von krpano nach /tools umleiten RewriteRule (^|/)krpano\.(.*)$ tools/krpano.$2 [L] # angenommen alle htm-Dateien mit QTVR Panoramen können mit *_qt.htm gefunden werden # convert2.php mit dem Dateinamen als Parameter aufrufen RewriteRule ^(.*)/([^./]+_qt)\.htm$ /$1/convert2.php?file=$2.htm [L]

qtkrparse.zip herunterladen

Fragen, Anregungen, Kommentare und Korrekturen bitta an mich

deutscher TextQTVR-files for KRPano

current version: 3.0

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 must be at least version 1.1.8.

The QTVR-files must contain only Jpeg-compressed images. Header compression is not supported. qtkrparse issues an error message via krpano 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 embedpano:

<script src="/krpano.js"></script> <script> embedpano({swf:"krpano.swf", xml:"qtkrparse.php?mov=my.mov", target:"krpano-div-id", html5:"auto"}); </script>

For details on how to embed krpano please see: http://www.krpano.com/docu/html/

The flash version can be called directly by GET parameter:

krpano.swf?pano=qtkrparse.php%3Fmov=my.mov
The second GET-delimiter "?" must be masked as "%3F".

Details

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 (2x2, 4x4, 6x6,...)
v3.0: 2016-11-11
- Support of krpano HTML5 viewer (and hence for tablets und smartphones)
v3.0.1: 2016-12-11
- added krpano projections context menu (in krpano.inc)

Examples / Debugging

All Sphericals on http://pano.erik-krause.de are displayed with the help of qtkrparse.php. 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.

HTML-Converter

In order to use existing HTML pages with embedded QTVR without the need to create them again convert2.php is enclosed (originally from the Birdcap-package by Bernhard Vogl) 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">interactive panorama</a>
convert2.php replaces the <object> and <embed> Quicktime tag by an apprpropriate call of embedpano.

.htaccess example for qtkrparse

If your .htm files containing QTVR panoramas can be recognized with a certain pattern the work can be done by some rewrite rules.

# switch rewriting on RewriteEngine on # assuming your folder containing krpano, qtkrparse.php and convert2.php is /tools # redirect all calls to convert2.php into /tools RewriteRule (^|/)convert2\.php$ tools/convert2.php [L] # redirect all calls to qtkrparse.php into /tools RewriteRule (^|/)qtkrparse\.php(.*)$ tools/qtkrparse.php$2 [L] # redirect all calls to krpano into /tools RewriteRule (^|/)krpano\.(.*)$ tools/krpano.$2 [L] # assuming all of your htm files containing QTVR panoramas are named *_qt.htm # call convert2.php with the file name as parameter RewriteRule ^(.*)/([^./]+_qt)\.htm$ /$1/convert2.php?file=$2.htm [L]

download qtkrparse.zip

For questions, suggestions, comments and corrections please contact me


Erik Krause 2016