[vlc-devel] QTVR in VLC?

Yuval Levy vlc07 at sfina.com
Thu Dec 6 13:54:19 CET 2007

Dear VLC Developers,

First of all, thank you for this excellent media player.

This is my first post here. I hope I am at the right place here and that 
I don't offend anybody. If I do, please accept my apologies and kindly 
direct me to the right place for this topic.

This introduction is a bit long - if you just want to skip to "the 
point", scroll down to THE QUESTION. However you might need some 
background information to understand the question, which I provide below.

My intention is to contribute to VLC's development, even if strictly 
speaking I am not a developer. My coding experience is very limited. I 
am a media producer (hence my interest in VLC) and I was the admin for 
this year's participation in the Google Summer of Code of the hugin / 
panotools project.


I would like to discuss with you a particular type of media - 
interactive panoramas or, in Apple's terminology, QTVR; and one of our 
GSoC projects, FreePV


All media players I have seen so far, including VLC, that claim support 
for QuickTime, don't support QTVR. Strictly speaking, QuickTime and 
QuickTimeVR are two different animals that have been placed under the 
same brand by Apple's marketing, with the consequence that they share 
the same MIME Type, same OBJECT/EMBED HTML tag, and can not be 
distinguished from one another when on a web page.

The result is a conflict between the VLC plugin and the FreePV plugin.

When you look at

- with FreePV installed, you will see the QTVR content on that page.
- with VLC installed, you will see a black screen (at least it was so 
last time I tested, a few months ago).

on the other hand, if FreePV is installed, mainstream QuickTime content 
will show a black screen, while VLC will display it properly.

To see what should be displayed without fiddling with the plugins, you 
can go to


and click on the thumbnails. There are a few technologies to display VR 
and chances are, that you have at least one of them on your box (Flash 
or Java, though Java is low resolution due to heap memory limitations 
and Flash is bumpier than QuickTime, especially on slower boxes).

If you click on the help link, you will have a choice out of the 
detected plugin technologies to display that content.

Note that FreePV does more than just display QuickTimeVR. During this 
summer of code it has been added with the ability to display SPi-V 
panoramas, a competing VR technology based on Adobe's Shockwave.

Roughly speaking there are four major VR technologies / plugins:
- QuickTimeVR is the original. Over ten years old, still unbeaten, 
particularly on weak CPUs. Available for Mac and Windows only :( lack of 
availability on Linux motivated Pablo d'Angelo to start writing FreePV.
- Java. There is a whole bunch of Java-based VR applets. Most of them 
are crap, with the exception of the OpenSourced ptviewer and the closed 
sourced Immervision Pure Player. Java is no longer a serious contender 
in the arena despite intense use by some industries. The problem is the 
default heap memory limitation. It is also burdened with other problems, 
particularly on the Mac.
- Shockwave/SPi-V - based on the Shockwave engine, SPi-V is probably the 
first GPU-accelerated VR viewer, and it shows! Amazing stuff can be 
done, unfortunately available for Windows only, and with some caveats 
for Mac (the Intelmac version is still missing).
- Flash is the new kid on the block. Flash 8 introduced basic 
functionalities and Flash 9 has improved on that. It is still far from 
the smoothness of Shockwave/SPi-V and it eats much more CPU than 
QuickTime, but it's ubiquity makes it a technology of choice.

Other technologies exist, but they are nearly irrelevant in terms of 
audience. The latest statistics (September 2007) are
- 67% QuickTime
- 85% Java
- 58% Shockwave
- 99% Flash (98% > Flash 8)



Is it possible to support QTVR in VLC?

If so, what would be the best way to do it, avoiding duplication of 
effort with the FreePV project and conflict between installed plugins?

Can the VLC plugin identify if a QuickTime content is a QTVR?

Can it somehow pass it on to FreePV for processing, e.g. integrate 
FreePV as a library?

Could it also "take over" the OBJECT/EMBED tag for Shockwave content to 
pass SPi-V panoramas to FreePV?

What would need to be done and who can do it?

Thank you for your attention.

Looking forward to help developing VLC and to see my content in VLC.


More information about the vlc-devel mailing list