Camtasia

Not to be confused with Fantasia, a magical screen recording tool has been around for many years. Books have been written on the use of this software to instruct others on how to teach and demonstrate other software and ideas.

Unlike Fantasia, the screen recording software Camtasia was not made by Disney, but does contain some proprietary data. Camtasia is a screen recording software by the developer TechSmith. First released in 2002, it was available first for Windows and much later, Macintosh.

The first versions of Camtasia would encode screen recordings in an AVI container, using the TSCC codec. The TSCC codec, aka TechSmith Screen Capture Codec, was developed by TechSmith and the codec was distributed freely. Let’s see what MediaInfo knows about it.

mediainfo Camtasia1-s01.avi 
General
Complete name : Camtasia1-s01.avi
Format : AVI
Format/Info : Audio Video Interleave
Format settings : BitmapInfoHeader
File size : 1.66 MiB
Duration : 2 s 333 ms
Overall bit rate : 5 966 kb/s
Frame rate : 15.000 FPS

Video
ID : 0
Format : TechSmith
Codec ID : tscc
Codec ID/Info : TechSmith Screen Capture
Duration : 2 s 333 ms
Bit rate : 87.3 kb/s
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 FPS
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.076
Stream size : 24.9 KiB (1%)

The AVI video format was the default recording format for the first couple versions. In version 3 the default format changed to the proprietary CAMREC format.

Camrec video files are a proprietary TechSmith file format that is used to store multiple files and information in a single package. Overall, .camrec files store your screen and camera recording plus some meta data about the various streams.
However, it is important to note that you cannot view or play .camrec files outside of Camtasia Studio.

The CAMREC video format isn’t entirely proprietary and uses a common container.

hexdump -C Camtasia3-s01.camrec | head
00000000 d0 cf 11 e0 a1 b1 1a e1 00 00 00 00 00 00 00 00 |................|
00000010 00 00 00 00 00 00 00 00 3e 00 04 00 fe ff 0c 00 |........>.......|
00000020 06 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 |................|
00000030 01 00 00 00 00 00 00 00 00 10 00 00 02 00 00 00 |................|
00000040 01 00 00 00 fe ff ff ff 00 00 00 00 00 00 00 00 |................|
00000050 fc 03 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|
00000060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|

file Camtasia3-s01.camrec
Camtasia3-s01.camrec: Composite Document File V2 Document, Cannot read section info

7z l Camtasia3-s01.camrec

Scanning the drive for archives:
1 file, 4696576 bytes (4587 KiB)

Path = Camtasia3-s01.camrec
Type = Compound
ERRORS:
Unexpected end of archive
Physical Size = 4698112
Extension = compound
Cluster Size = 4096
Sector Size = 64

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
..... 3912 3968 manifest.camxml
..... 4672000 4673536 Screen_Stream.avi
------------------- ----- ------------ ------------ ------------------------
4675912 4677504 2 files

The CAMREC file might be unknown to most video players, but the AVI within the compound object is the same as the versions before it. Camtasia even has a built in extractor if you really need to pull the AVI out of the format.

7z l Camtasia8-s01.camrec
Path = Camtasia8-s01.camrec
Type = Compound
Physical Size = 33849344
Extension = compound
Cluster Size = 4096
Sector Size = 64

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
..... 4798 8192 manifest.camxml
..... 4286 8192 cursor-1.ico
..... 766 768 cursor-0.ico
..... 9565 12288 Events.dat
..... 36 64 Keyboard.dat
..... 33764198 33767424 Screen_Stream.avi
------------------- ----- ------------ ------------ ------------------------
33783649 33796928 6 files

Each CAMREC file contains a manifest.camxml. They seem to be UTF-16 XML files, with and without the XML declaration. The Screen_Steam.avi file seems to be in all my samples, but not clear if there can be a variant without an AVI file.

This CAMREC container was used in the Camtasia Studio software until version 8.4 when the default was changed to a new Codec, based on MPEG4, with the TREC extension.

mediainfo capture-1.trec 
General
Complete name : capture-1.trec
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/isom)
File size : 277 KiB
Duration : 3 s 41 ms
Overall bit rate mode : Variable
Overall bit rate : 746 kb/s
Frame rate : 19.091 FPS
Encoded date : 2025-02-11 03:48:25 UTC
Tagged date : 2025-02-11 03:48:34 UTC
FileExtension_Invalid : braw mov mp4 m4v m4a m4b m4p m4r 3ga 3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a f4b f4v

Video
ID : 1
Format : tsc2-D0
Codec ID : tsc2-D0

Duration : 2 s 933 ms
Bit rate : 495 kb/s
Width : 924 pixels
Height : 696 pixels
Display aspect ratio : 4:3
Frame rate mode : Variable
Frame rate : 19.091 FPS
Minimum frame rate : 10.000 FPS
Maximum frame rate : 30.000 FPS
Bits/(Pixel*Frame) : 0.040
Stream size : 177 KiB (64%)
Title : 100
Encoded date : 2025-02-11 03:48:25 UTC
Tagged date : 2025-02-11 03:48:34 UTC

TechSmith Recording File (TREC) files will identify as an MP4 in most identification tools, you will need MediaInfo or other tools to understand the codec used. If we look at the header of the MP4 TREC file:

hexdump -C Camtasia8.4-s01.trec | head
00000000 00 00 00 18 66 74 79 70 6d 70 34 32 00 00 00 00 |....ftypmp42....|
00000010 6d 70 34 32 69 73 6f 6d 00 00 00 88 66 72 65 65 |mp42isom....free|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000000a0 00 00 00 01 6d 64 61 74 00 00 00 00 01 1f c4 b9 |....mdat........|
000000b0 01 02 02 01 40 00 00 00 7f 7f 7f 7f 7f 7f 7f 7f |....@...........|
000000c0 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f |................|
*
000000f0 7f 7f 7f 7f 7f 7f 7f 63 da 11 00 00 d6 46 18 e0 |.......c.....F..|
00000100 77 ff 43 ff aa e4 eb 9c dc 8f 9a 56 7a 30 71 ea |w.C........Vz0q.|

We see the standard header for an MP4 file. The codec specific to the Camtasia software is identified later in the file, but identification using a PRONOM signature might be challenging. In looking at the hex of the file, near the end, you can find embedded PNG’s and other data. VLC and FFMPEG can read the codec, but players like Quicktime struggle.

A promising section near the end shows the name and version of Camtasia Studio. More data needed.

hexdump -C Camtasia8.4-s02.trec
0569a3b0 00 00 00 00 00 00 00 00 00 00 01 54 53 43 52 00 |...........TSCR.|
0569a3c0 00 00 00 00 00 00 50 01 00 00 00 00 00 00 00 43 |......P........C|
0569a3d0 61 6d 74 61 73 69 61 20 53 74 75 64 69 6f 00 00 |amtasia Studio..|
0569a3e0 00 00 00 38 2e 34 00 00 00 00 00 00 00 00 00 00 |...8.4..........|
0569a3f0 00 00 00 57 69 6e 00 60 bb c4 00 00 00 00 00 00 |...Win.`........|
0569a400 00 00 00 00 00 00 00 00 00 00 01 54 53 43 4d 00 |...........TSCM.|
0569a410 00 00 00 00 00 95 2c 00 00 00 01 44 41 54 41 00 |......,....DATA.|

Camtasia also uses a lot of Project files to managing the video editing process of your screen recordings. The project files can vary between the Windows and Macintosh versions.

The older versions of Camtasia for Windows up until version 8.4, used the CAMPROJ extension for their projects. These are in XML and simply use “<Project_Data>” for the root element. With Version 8 having a later element “<CSMLData>” to manage the assets. Other projects also have a File element that begins with either “tscrec4://” or “TSCRec://”. But it may be best to identify the older versions with the “<ClipBin_Array>” element.

For Mac version 2, they used CMPROJ for the Project, but also it was an Apple Bundle/Package file. It also used a recording file with the extension CMREC, but is also Apple Bundle/Package file which contains MOV and DAT files.

The most recent versions of Camtasia for Mac and windows use the TSCPROJ extension. They are plan text files with some resemblance of JSON.

{
"title" : "",
"description" : "",
"author" : "",
"width" : 854.0,
"height" : 480.0,
"version" : "0.5",
"editRate" : 30,
"authoringClientName" : {
"name" : "Camtasia",
"platform" : "Mac",
"version" : "3.1.7"
}

There are a few formats related to Camtasia, but the CAMREC format is the one that shows up the most in my work. So today I am only proposing a signature for CAMREC and the CAMPROJ formats. We will have to have some discussion on the TREC format to determine if standard MPEG-4 identification is fine or if the format needs its own PUID. You can find some examples and my proposed signature on my Github page.

Leave a Reply

Your email address will not be published. Required fields are marked *