2021-06-27

Based on Studio2021 v3.6.7.


What are *.insprj files?#

Insprj files are Studio2021 project files, in which Studio2021 stores all the edits done on a content entry. For those a XML based syntax is used, which can be read and changed with any text editor.


Where are the project (*.insprj) files located?#

The easiest to find there storage location of your project files is to use Studio2021 settings:

Studio2021_Project_Location

On Windows the path shown by default would mostly be

C:\Users\<yourUser>\Documents\Insta360\Studio\Project\

In that path you find a bunch of hash coded sub-folders. Each of them contains one .insprj file and potentially some .json files, which are the result of the "Auto frame" function.


What naming convention is used for the project files?#

When naming the project files, the base name of the underlying primary source file is taken. For videos in 5.7k, this is the file with the *_00_*.insv part, that of the primary lens.

For the video file set

VID_20210524_103747_00_504.insv
VID_20210524_103747_10_504.insv

this results in

VID_20210524_103747_00_504.insv.insprj

as the project file name. Simply said, take your source files name and add ".insprj" to it. For images it's a different story because on images the .insp file extension is only kept for normal shots including PureShot, which is saved on the DNG of that shot. For all other "special" types of shots the .insp file extension in their name gets replaced by a recording type identifier which can be

If you search for a project file for one of those, remember the shooting type and add its suffix instead of the file extension before the .insprj file type extentsion.

Example: An IntervalShot series consists of a number of *.insp files. The anchor point for all those images to form one Interval entry in Studio2021 is the very first image of this image. Because of this the IntervalShot with the first of its images named

IMG_20210529_142251_00_532.insp

will have a project file named

IMG_20210529_142251_00_532_INTERVAL.insprj

Note: If you have to deal with Studio2021 versions before v3.6.6 the naming is different. For example v3.5.7 replaced the continuous number at the end with the recording type string.


What's the purpose of those hash named subfolders?#

The names of those folders are MD5 hashes. Because the hash is build on a complete file path including a virtual file name which can also identify the recording type it is unique for each "storage path - source file" combination.

As a result, if you move your source file after the first edits are done to a different location and load it again in Studio2021 you won't see the edits you've already done. Because those are stored in a project file for a file with the same name but at a different location.

To get your edits back you have either to move the project file to the new MD5 hash subfolder or move your source file to its old location.

Best practice: Only start editing after you are sure not to move your source file again.


Can I have multiple different project files for the same content?#

Yes. For that you simply can make copies of the original project file with a changed name. If you want to switch between versions remove your content file from Project2021s content list, rename / change the insprj project file and load your source file again into Studio2021.

Unfortunately, with Studio2021 v3.6.6, there no way to manually save project files for one content file either with a different name or to a different location. Maybe that will be added later.


Can the name for a hash-folder manually generated?#

Yes. Please see below.


What are these cryptic names of the subfolders?#

The names of those folders are MD5 hashes. The individual MD5 hash is based on the complete file path to a source content file including its name (primary file) together with a suffix extension which classifies the type of the recording. Normal images, video & images, do not get a special recording type added. Windows file path typical backslashes are replaced with unix style slashes.

For images that type extension can be one of

Those are added to the base file name as a replacement of the file type extension. In this Studio2021 v3.6.6 is different to its previous versions, which dropped the lens and continuous number but not the file type extension. Also for a PureShot, which is based on a *.dng, the _DNG recording type extension is not used.

If we continue with our example of the previous paragraph the MD5 hashed subfolder name for

IMG_20210529_142251_00_532_INTERVAL.insprj

with the base file

IMG_20210529_142251_00_532.insp

will be generated on the complete file path to a virtual file name

IMG_20210529_142251_INTERVAL

If our example source file is saved with the path

d:/images/backup/IMG_20210529_142251_00_532.insp

the MD5 hash for a manual build subfolder has to be generated for

d:/images/backup/IMG_20210529_142251_INTERVAL

which then results in

42c676f9fb7a1f3750b09737f27ffd96

But the cases in which you need to generate those names are very very rare. You will only need it of you backup your project files as well as your source files and the location of the source files has changed after a restore.


How do insprj file look like?#

A typical insprj file in its XML structure looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<project version="1.0.1">
    <meta version="3.6.6" app="Insta360 Studio 2021 3.6.6" creation_time="1622974809"/>
    <bullet_time fov="1.04214" distance="0.8125"/>
    <preference favourite="0">
        <rendering cold_shoe="0" stabilization="1" projection="64" pitch="0" ai_raw="0" rotate_angle="0" directional_lock="0" dewarp="0" accessory="5" blend_angle="0" dewarp_mode="0" stab_type="0" motion_blur="0">
            <play_rate/>
        </rendering>
        <audio volume="0.5" denoise_type="0"/>
        <optimization>
            <calibration offset=""/>
            <stitching dynamic_stitching="0" image_fusion="1" drone_suite="0" remove_black_edge="0" is_selfie="0" audio_mode="2" color_enhancement="0" remove_black_edge_value="0" under_water_correction="0"/>
        </optimization>
    </preference>
    <file_group folder="D:/_Media_/Insta360/backup/DCIM/Camera01" type="video_normal" count="2">
        <file name="VID_20210524_103747_00_504.insv"/>
        <file name="VID_20210524_103747_10_504.insv"/>
    </file_group>
    <timeline duration_ms="66066">
        <trim end="66032" start="0"/>
        <aspect_ratio width="16" height="9" mode="1"/>
        <recording>
            <keyframes/>
            <transitions/>
            <deep_track_areas/>
        </recording>
    </timeline>
    <bigboom>
        <config>
            <aspect_ratio width="16" height="9"/>
        </config>
        <clips/>
    </bigboom>
</project>

This XML represents the project file for a 5.7k video recording with the OneX2. The recording itself consists of two insv files to which the reference is made.