How to Convert QTVR Files Using FFmpeg

Apple QuickTime VR (QTVR) is a legacy interactive media format used for displaying panoramic images and 3D objects. Since modern media players no longer support the interactive components of QTVR, you must decode and convert these files to retrieve their visual content. This guide explains how to use FFmpeg to inspect QTVR files, extract their underlying video frames or panorama strips, and convert them into widely compatible modern formats like MP4 and JPEG.

Understanding QTVR and FFmpeg Limitations

QTVR files (.mov) contain standard video and image tracks wrapped in proprietary Apple metadata that handles user interactivity (such as panning and zooming). FFmpeg cannot preserve the interactive VR functionality. However, it can decode the legacy video codecs (like Cinepak, Sorenson Video, or QDesign Music) used inside the QTVR container and extract the raw visual assets.

Step 1: Inspect the QTVR File Structure

Before converting, analyze the file to see how many streams it contains and what codecs were used. Run the following command in your terminal:

ffmpeg -i input.mov

Look at the output under the “Stream” sections. You will typically see a video stream encoded in svq3 (Sorenson Video 3), rpza, or cvid (Cinepak).

Step 2: Convert the QTVR Movie to MP4

If your QTVR file is an “Object” movie (a series of frames showing an object from different angles) or a panoramic video track, you can convert it into a standard, non-interactive MP4 video using the H.264 codec.

Run this command:

ffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p output.mp4

Step 3: Extract Panorama Frames as Images

If the QTVR file is a static panorama, it often consists of a single wide strip or a series of tiled images. You can extract every frame from the QTVR file as a high-quality JPEG image. This allows you to reconstruct the panorama manually in modern image editing or stitching software.

Run this command to extract the frames:

ffmpeg -i input.mov -an -f image2 image_%03d.jpg

Step 4: Extract Specific Video Tracks (Multi-Track Files)

Some QTVR files contain multiple video tracks (e.g., one for the preview, one for the high-resolution panorama, and one for the hot-spots). To extract a specific track, map the correct stream during conversion.

If your inspect command from Step 1 showed multiple video streams (e.g., Stream #0:0 and Stream #0:1), you can extract only the high-resolution stream (for example, Stream #0:1) with this command:

ffmpeg -i input.mov -map 0:1 -c:v libx264 -pix_fmt yuv420p high_res_output.mp4