OBS Uptime to File Lua Script
This OBS Studio Lua script writes your current stream uptime to a text file, with customizable formatting. You can use this file as a source in OBS (e.g., with a Text GDI+ source) to display your live stream duration.
Features
- Writes the current stream uptime to a file while streaming.
- Lets you choose the output file location via the script settings.
- Lets you customize the output format (e.g., 01:23:45,1h 23m,83 minutes).
- When the stream stops, the file is automatically erased (emptied).
Installation
- Download or copy the obs_uptime_to_file.luascript to your computer.
- Open OBS Studio.
- Go to Tools>Scripts.
- Click the +button and selectobs_uptime_to_file.lua.
- Set the Output File Pathto where you want the uptime to be written.
- (Optional) Set the Format Stringto customize how the uptime appears.
- (Optional) Set the Update Interval (seconds)to control how often the file is updated (default: 1 second).
Format String
You can control how the uptime is displayed using the Format String property. Use these placeholders:
- {d}: Days (zero-padded, e.g., 02)
- {h}: Hours (zero-padded, e.g., 01)
- {m}: Minutes (zero-padded, e.g., 09)
- {s}: Seconds (zero-padded, e.g., 05)
- {D}: Days (no padding, e.g., 2, 12)
- {H}: Hours (no padding, e.g., 1, 12)
- {M}: Minutes (no padding, e.g., 9, 23)
- {S}: Seconds (no padding, e.g., 5, 45)
Examples:
- {h}:{m}:{s}→- 01:23:45
- {H}:{M}:{S}→- 1:23:5
- {D}d {H}h {M}m→- 2d 3h 15m(or just- 3h 15mif under 1 day, or- 15mif under 1 hour)
- {M} minutes→- 83 minutes
How It Works
- When you start streaming, the script begins writing the uptime to your chosen file at the interval you set (default: every second).
- When you stop streaming, the file is erased (emptied), so nothing will display if you use it as a text source.
Use Case
Add the output file as a Text (GDI+) source in OBS to show your stream uptime on your overlay. The file will always be up-to-date while you are live, and will be blank when you are not streaming.
License
MIT License. Feel free to use, modify, and share.
					Languages
				
				
								
								
									Lua
								
								100%