A process for extracting annotations from a video project for a voiceover script

  • 1
  • Problem
  • Updated 1 month ago
if desired, copy script below and save per instructions

#SingleInstance, Force

Save this script as findit.ahk in a new folder
such as CamTemp.  But, read this first:

This is a simple Windows process for extacting
text used in annotations in Camtasia 2020. 
There may be a better way to do this.  If so,
I would like to know. 

This process should work with earlier versions,
but I haven't tried.  This process was created
because sometimes it is easier to create
video first and then create a script to follow
it.  Recently, I had 90+ annotations in a video
and I needed an easy way to gather them for a
script that will read as a voiceover later.

This video was ~8 minutes and my .tscproj
file was 233 8.5x11 pages when imported into
WordPerfect.  This was far too big to dig
around in the file.

Here's the receipe, your mileage may vary.
Experiment with a useless .tscproj file first!

1.  Download AutoHotKey v1.32 from AutoHotkey.com
    (It's safe and free and you may have to use
    IE Explorer to download it.)
2.  Install on your computer using defaults. It is small.
    Restart computer.
3.  Create a folder for this project like "CamTemp"
4.  Find and import the .tscproj into Notepad
5.  Save the imported file as source.txt in the new folder
6.  Without leaving Notepad, do ctl+h and
    search for "text" : " and replace with zzzz, 
    then save again as source.txt
    note: the search string is 10 characters,
    quotes must be included.
    Exit Notepad.
7.  The output of this process will be iwantit.txt
    which you will need to cleanup in your word processor.
    note:the annotations may not be in the exact
    order as given in the program, but they will
    be close by. 
8.  Save this script as findit.ahk in CamTemp and
    when ready, double click on this file in the
    folder CamTemp.  If you are prompted for an app
    to open the program, navigate to AutoHotKeyU64.exe   
    The process is almost instant.  Enjoy

filedelete, iwantit.txt ; delete a previous output file if it exists

FileAppend, , iwantit.txt  ; create new file called iwantit.txt

Loop, read, source.txt, iwantit.txt ; read each line until eof
if InStr(A_LoopReadLine, "zzzz")
        FileAppend, %A_LoopReadLine%`n


Photo of Larry


  • 14 Posts
  • 2 Reply Likes

Posted 1 month ago

  • 1
Photo of kayakman

kayakman, Champion

  • 8023 Posts
  • 2775 Reply Likes
check out CamLoc; it's a free app offered by another Camtasia forum member, Charles Welford [if I recall correctly]

perhaps search this forum for Camloc; there are many threads where this has come up over the past several years

CamLoc can extract the text in callouts [annotations], captions, and markers [I believe]
Photo of Larry


  • 14 Posts
  • 2 Reply Likes
Thank you for bringing this to my attention!   Much better solution than mine.  Sometimes it is easier to write 6 lines of code than finding a needle in the haystack.  :)