This script allows you to use a hotkey to create stream markers or bookmarks for streams and recordings made on OBS.
Twitch has this function called Add Stream Marker where you
can add bookmarks to your livestream for review later. With
this script, you can have stream markers for any video made
with OBS even if you're not streaming! The stream markers will
be saved in a CSV file (comma separated values). You can open
this with a spreadsheet application like Microsoft Excel,
Google Sheets and the like. You may also open it with text
editors like Notepad.
Eleven (11) columns will be made:
- Date and time when the stream/recording mark was made
- Date and time when the stream started (if streaming)
- Timestamp of the stream mark (if streaming)
- Timestamp of the stream end mark (if streaming)
- Full path to the file of the recording (if recording)
- Filename of the recording (if recording)
- Timestamp of the mark made on the recording (if recording)
- Timestamp of the end mark made on the recording (if recording)
- Timestamp of the mark made on the recording taking Automatic File Splitting into consideration (if recording)
- Timestamp of the end mark made on the recording taking Automatic File Splitting into consideration (if recording)
- Comment (if enabled and set)
- Download the ZIP file. You will only need
local-stream-marker.lua. The others are just there for reading if you're bored. - In OBS, go to
Tools->Scripts. - Add the
local-stream-marker.luascript: In theScriptstab, click on+sign and browse to where this file is. - In the
Output Foldertext box, specify the path where you want the output file (CSV) to be created. If this is not specified, the CSV file will be saved in the same folder as the script. - The
Set Markerbutton you see in this window is just here if you want to test this function while you don't have a hotkey set. - Enable
Use custom filenameif you want to use #7. - Use the
CSV Filenameif you want something other than the defaultobs-local-stream-marker.csv. Add[date]to the filename if you want to use #8. - Use
Datetime Formatto customize your datetime input in #7. e.g."%Y-%m-%d"for2023-07-30,"%B %d, %Y"forSeptember 02, 2023. If you are unsure of your datetime syntax, PLEASE SAVE YOUR WORK BEFORE TESTING THIS BECAUSE USING THE WRONG SYNTAX WILL CRASH YOUR OBS! You can test this by setting your datetime syntax, then hitting your "mark stream" hotkey to check if your file will be created. OBS will crash if it's not. - Once you're done with this window, go to
Settings->Hotkeysand look for the[Local Stream Marker] Add stream markhotkey and add your specify your preferred hotkey. - You can set an optional end-marker in
[Local Stream Marker] Mark end. - If you have the
[date]shortcode to add #8 to your filename, the following settings will apply:- If streaming or recording is not active, the timestamp when the first marker was made will be used for the filename.
- If streaming is active, the timestamp when the stream was started will be used for the filename. If there was a file created in #10.1, a new file will be created with this new filename with the new timestamp.
- If recording is active:
- If streaming, it will continue to use the existing file with the filename created with this new timestamp.
- If not streaming, it will create a new file with a filename similar to the case in #11.2.
- Comments: See Comments
You can add predefined comments and assign them to markers which you can then add to your CSV file with your hotkeys.
- Each marker has its own optional "End" hotkey. This marks the end of the "start".
- Markers are LIFO (last in, first out).
- If you use an "end" hotkey for a marker start that doesn't exist, it will not work. For example, you create a marker for "Comment 1", and then you hit the "Comment 1" hotkey to end it. If you hit that end marker again for "Comment 1", nothing will happen.
- Enable
Comments for markers - Set the
Number of Marker Commentsto the number of predefined comments you want to set. - Set your comments in the
Comment 1,Comment 2, etc. text boxes. - Optionally, you can save your preset by setting a name in
Saved Presetsand then hitting theSave comment presetbutton.- This will create a file in the same location you set in
Output Folder(same as your CSV files). - These files will be named after your preset name with the
.markerpresetsextension.
- This will create a file in the same location you set in
- Refresh the script (with the reload button) to see the hotkeys appear in
Settings->Hotkeys. - After loading a preset, you'll also need to refresh the script to see the updated number of hotkeys in Settings.
- A maximum of 20 comments is set because I don't know who in the world will be able to manage more than 20 hotkeys for 20 different markers/comments in a single session.
- If you want to test your settings, you can start a recording to see how your hotkeys will work.
- Please ALWAYS test your settings and your hotkeys.
- Make sure that your CSV file is not open in a spreadsheet app so the script can write to it.
- The "Recording Timestamp on File" column will differ from the "Recording Timestamp" column only when the recording is split using Automatic File Splitting.
I would appreciate any support you send. If this has somehow made you smile, made your day brighter, or made your work easier and faster, please feel free to send me a smile, coffee, pizza, a gamepad, t-shirt, or anything! Your support means a lot to me as it will help cover a lot of costs. Thank you!
Please feel free to join me on Discord! https://discord.gg/EbwgmWwXF8
- This app is intended to be help you in your content creation workflow. If you find that this is not the case, feel free to remove this script from OBS, delete it, and purge it from your memory; or maybe drop by the OBS forums or my Discord and send some suggestions. Thank you!


