Skip to content

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

AfterQT — a panoramic cube with a yellow hotspot

AfterQT

Turn old QuickTime movies into a website you can open in Chrome, Safari, Firefox, or Edge — including on a phone.

Apple’s QuickTime player is gone from modern computers. The files are often still on a disk: 360° rooms you could look around in, whole virtual tours from the early 2000s, or a normal video saved as .mov. AfterQT reads those files and builds a website (ordinary HTML pages plus images or a modern MP4). No extra plugin. Your original movies are only read, never overwritten.

A typical session is three steps:

  1. Convert your files → a folder called web
  2. Look at the result on this computer
  3. Copy that web folder to any website host if you want other people to see it

What you need

You install these once on the computer that will do the conversion.

  1. Python — the language AfterQT is written in (version 3.10 or newer)
  2. ffmpeg — a free tool that can open old movie formats
  3. AfterQT itself

You do not need Python or ffmpeg on the computer (or the phone) that only watches the finished site.

Open a terminal

All the commands below are typed in a terminal — a window where you type lines and press Enter.

System What to open
Windows Click Start, type PowerShell, open Windows PowerShell
macOS Open Terminal (Spotlight, then type Terminal)
Linux Open Terminal from the applications menu

You can copy each block of commands and paste it, then press Enter.

1. Python

In the terminal:

python --version

On a Mac or Linux, if that fails:

python3 --version

You want 3.10 or higher, for example Python 3.12.3.

System If Python is missing
Windows Download it from python.org. During setup, tick “Add python.exe to PATH” (so the terminal can find it). Then close the terminal and open a new one.
macOS Install Homebrew, then run brew install python. Or download Python from python.org.
Linux Debian / Ubuntu: sudo apt install python3 python3-pip python3-venv · Fedora: sudo dnf install python3 python3-pip

2. ffmpeg

ffmpeg -version

If you see a version number, you are done.

System Install ffmpeg
Windows In PowerShell: winget install ffmpeg. Close the terminal and open a new one, then check again. (Or download a build from ffmpeg.org.)
macOS brew install ffmpeg
Linux Debian / Ubuntu: sudo apt install ffmpeg · Fedora: sudo dnf install ffmpeg

3. Get AfterQT onto the computer

  1. Download AfterQT: on GitHub click Code → Download ZIP, then unzip it.
  2. In File Explorer, open the unzipped folder. You must see these files inside it:
    • setup.cmd
    • afterqt.cmd
    • pyproject.toml
  3. Click the address bar at the top of File Explorer (the box that shows the path). The path becomes selected. Copy it (Ctrl+C). You will need it in the next step. It might look like C:\Users\You\Downloads\afterqt-master.

4. Install AfterQT (once)

This prepares AfterQT on this computer. You do it once. You do not double-click anything. You type in the terminal, then press Enter.

Windows, click by click

Stay in Windows PowerShell. If you closed it, open it again: Start → type PowerShell → click Windows PowerShell.

A. Go into the AfterQT folder

Type cd then a space, then paste the path you copied (right-click in the PowerShell window to paste). Then press Enter.

Example — if the folder is C:\Users\You\Downloads\afterqt-master:

cd C:\Users\You\Downloads\afterqt-master

The start of the line must now show that folder, for example:

PS C:\Users\You\Downloads\afterqt-master>

If you see cannot find the path, the folder name is wrong. Go back to step 3, copy the path from File Explorer again, and retry.

B. Check you are in the right folder

Type this and press Enter:

dir setup.cmd

You must see setup.cmd in the list. If Windows says it cannot find the file, you are in the wrong folder. Repeat A.

C. Launch the installer

Type exactly this — a dot, a backslash, the word setup — and press Enter:

.\setup

How to paste a line: click the PowerShell window, right-click, then press Enter.

Wait. Do not close the window. Text will scroll for up to a minute. You are finished when you see:

Done. From now on, in this folder, type:
  .\afterqt doctor
  .\afterqt publish C:\path\to\your\movies -o web

D. Check that it worked

Type this and press Enter:

.\afterqt doctor

Every line should say ok. If a line says MISSING, install Python or ffmpeg above, close PowerShell, open a new PowerShell, and start again from A.

What not to do

Don’t Why
Double-click setup.cmd in File Explorer The window flashes and closes. You cannot see if it worked.
Type setup without the .\ PowerShell looks in the wrong place and says the command was not found.
Skip the cd line Setup only works from inside the AfterQT folder.
Run .\setup every day Once is enough. Next time you only type .\afterqt ….

Next time you open the computer

  1. Open PowerShell.
  2. Go into the folder again (cd plus the path you copied from File Explorer).
  3. Type .\afterqt plus the rest of the command (see below).
    Do not run .\setup again.

macOS and Linux

  1. Open Terminal.

  2. Go into the AfterQT folder (paste your path):

    cd ~/Downloads/afterqt
    
  3. Make the helper files runnable, then install, then check:

    chmod +x setup afterqt.sh
    ./setup
    ./afterqt.sh doctor
    

Every line of doctor should say ok. Next time: cd into the same folder and type ./afterqt.sh …. You do not run ./setup again.


Convert your files

AfterQT never writes into your originals. It creates a new folder (we use the name web) with the website.

-o web means “write the result into a folder called web”. You can pick another name if you want (-o mysite).

Replace the example paths with your movie or folder. If a path has spaces, put it in quotes: "C:\My tour\file.mov".

One movie

A single .mov (or .qt, .m4v, .mp4): a 360° room, a clip, or a still.

Windows

.\afterqt publish C:\Users\You\Videos\clip.mov -o web

macOS / Linux

./afterqt.sh publish ~/Movies/clip.mov -o web

The first run can take a while on a large file. When it finishes you get a short summary in the terminal and a new web folder.

A folder of movies

Put several movies in one folder. You do not need HTML pages. AfterQT makes a gallery: you jump from file to file. It will not draw doors between rooms, because it does not know where they should go.

Windows

.\afterqt publish C:\Users\You\old-movies -o web

macOS / Linux

./afterqt.sh publish ~/old-movies -o web

An old CubicConverter tour

In the early 2000s a program called CubicConverter was often used to build virtual tours (houses, museums, shops). For each room it saved:

  • a QuickTime movie (the 360° picture)
  • a small HTML page that told the plugin where the doors were — for example “this hotspot goes to room 7, and when you arrive look to the left”

If you still have that project, the folder usually looks like this:

my-tour/
  1.mov     1.html
  2.mov     2.html
  3.mov     3.html
  …

The movies are the rooms. The HTML pages are the map. AfterQT reads both: it takes the picture out of each movie and puts the same doors back as yellow dots you click in the browser.

Point AfterQT at the whole folder, not at one file:

Windows

.\afterqt publish C:\Users\You\my-tour -o web

macOS / Linux

./afterqt.sh publish ~/my-tour -o web

A tour with many rooms takes longer (each movie is processed). If a movie has no matching HTML page, that room is still published, but AfterQT will not invent doors. It only connects rooms when the original pages said so.

Optional, before converting: .\afterqt audit C:\Users\You\my-tour lists missing files or doors that point nowhere.

You can also build the 2D site and the VR folder in one go:

.\afterqt publish C:\Users\You\my-tour -o web --vr

That is the same as publish and then vr below. Without --vr, AfterQT still writes only web.


Optional: look around in a headset (VR)

After you have a web folder, AfterQT can build a second folder for a VR headset (Quest and other browsers that speak WebXR). The normal site is not changed.

Windows

.\afterqt vr web -o web-vr

macOS / Linux

./afterqt.sh vr web -o web-vr

This works on one movie (one room, no doors), a folder of movies, or a CubicConverter tour. AfterQT does not invent doors. In a tour, a cyan dot is another VR room; a yellow dot opens the normal 2D site.

The picture is still the original pixels, only enlarged if the movie is smaller than a headset panel (default face size 2304). A small movie stays soft in the headset. Rooms that are not a 360° cube (a normal video, a still, an object movie) stay on the 2D site.

On this computer:

.\afterqt serve web-vr

Then open http://127.0.0.1:8765/ — drag to look around. A headset’s browser only starts VR on an https page. Put the web-vr folder on any ordinary https host (the same way you upload web), accept the certificate if you use your own https server, then tap ENTER VR.

.\afterqt pack web-vr -o my-tour-vr.zip zips that folder for upload.


Look at it on this computer

Stay in the AfterQT folder:

Windows

.\afterqt serve web

macOS / Linux

./afterqt.sh serve web

Leave that window open. In your browser go to:

http://127.0.0.1:8765/

That address is only this computer (127.0.0.1 means “here”). Other people on the internet cannot see it yet.

Do not double-click web\index.html. The browser would open the file directly and the tour often stays blank, because the page needs the small server above.

After you convert again, refresh hard: Ctrl+F5 (Windows / Linux) or Cmd+Shift+R (Mac).

Stop the server: click the terminal and press Ctrl+C.


Put it on your own website

The web folder is a finished website. After AfterQT has created it, you no longer need AfterQT, Python, or ffmpeg to show it. Everything the browser needs is already inside: pages, pictures or videos, and the player.

You can:

Windows

.\afterqt pack web -o my-tour.zip

macOS / Linux

./afterqt.sh pack web -o my-tour.zip

That zip starts with index.html at the top. Upload the zip (and unzip it on the server), or copy the files inside web into a folder on any ordinary web space:

  • your own hosting (https://example.com/tour/)
  • a free static host such as GitHub Pages or Netlify
  • a USB stick — on another computer, install AfterQT only if you want to run .\afterqt serve again; the files themselves do not need conversion a second time

There is no login, no database, no special server software. If a normal HTML site works in that folder, this tour works. Visitors download only the converted site. Your original .mov files stay with you.

If you change the tour later: run .\afterqt publish … -o web again, then upload the new web folder over the old one. If you use VR, run .\afterqt vr web -o web-vr again and upload web-vr too.


What you see in the browser

You gave AfterQT You get
One movie One page: look around a 360° room, play a video, or see a still picture
A folder of movies only A list of rooms or clips — switch between them, no doors
Movies + CubicConverter HTML A tour — look around, click the yellow dots to change room
web + afterqt vr A second folder web-vr — the same rooms in a headset

The picture is not enlarged beyond the original. If the old movie was small, the window stays small (a 320×240 clip is not stretched across a 4K monitor). If the HTML said the QuickTime window was 400×316, AfterQT uses that shape and may grow it on a large screen, but never past the real pixels of the movie.


Other commands

Run these from the AfterQT folder. On Windows the command is .\afterqt. On a Mac or Linux it is ./afterqt.sh.

.\afterqt doctor
.\afterqt audit C:\path\to\my-tour
.\afterqt audit web
.\afterqt inspect clip.mov
.\afterqt tour C:\path\to\folder
.\afterqt pack web -o my-tour.zip
.\afterqt serve web
.\afterqt vr web -o web-vr
.\afterqt serve web-vr
Command What it does
doctor Checks that Python, ffmpeg, and the rest are installed
audit Finds missing movies, broken doors, or a web folder with files left out
inspect Tells you what kind of file a movie is
tour Lists rooms and doors without building the site
pack Zips the web folder so you can upload it
serve Opens the published site for you to preview
vr From an existing web folder, builds a web-vr folder for a headset
export Advanced: extract frames from one file (.\afterqt export clip.mov -o out -m cube)

On a Mac or Linux, use a path like ~/my-tour instead of C:\path\to\….


If something goes wrong

What you see What to try
afterqt is not recognized / “not installed yet” You are not in the AfterQT folder, or you have not run .\setup yet. Type .\afterqt (with the .\).
ffmpeg non trovato / doctor says ffmpeg MISSING Install ffmpeg, then close and reopen the terminal.
The browser page is black or empty Use .\afterqt serve web, not a double-clicked index.html. Then hard-refresh.
audit reports missing movies A door in the HTML points to a .mov that is not in the folder. Put that file back, or accept that the door cannot work.
Conversion is very slow Normal for a tour with dozens of rooms. Let it finish.

Limits

AfterQT is checked on cubic tours (one room = one file), the kind CubicConverter usually wrote. Other old formats can be harder: a cylindrical panorama, some very old video compressions, a “spin the object” movie, or several rooms packed into a single .mov. Those may need a small adjustment. A 360° video (a film, not a still room) plays as a normal video, not as a sphere you drag.

VR is look-around in a headset, the same pictures as the 2D site. It is not a 3D scan of the room and it does not add detail that was not in the movie. The headset player uses WebXR.


License

AfterQT is released under the MIT License. Copyright © 2026 Orfeo Morello.

This repository does not include sample tours or private movies. Point AfterQT at your own folder.

About

Turn old QuickTime / QTVR / CubicConverter mov files to a new life

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages