Docs
OBS setup
Beam Networks Stream expects OBS to record locally as small HLS chunks. The agent watches that directory and uploads each segment to the cloud.
Recommended output settings
Beam recommends configuring OBS to 1920×1080 at 60 fps with ~6000 kbps CBRas the default target. The cloud ingest path is bitrate-agnostic and absorbs 1080p60 cleanly, and 6000 kbps CBR matches the standard Twitch / YouTube reference for 1080p60 streaming.
- Output (Scaled) Resolution:
1920×1080 - Common FPS Value:
60 - Encoder bitrate:
6000 kbps, rate controlCBR - Video Encoder:
h264_videotoolboxon Mac orlibx264on Windows/Linux - Audio Encoder:
aac - Keyframe interval: 2 seconds (
keyint=120at 60 fps)
If your encoder or upload bandwidth cannot sustain 1080p60, fall back to 1080p30 at ~4500 kbps CBR or 720p60 at ~4000 kbps CBR. Both are supported.
1. Create the output folder
mkdir -p /tmp/obs-hls
2. Switch OBS to Advanced output mode
- 1. Open OBS Settings.
- 2. Open the Output section.
- 3. Change Output Mode from
SimpletoAdvanced.
3. Configure the Recording tab
- 1. Set Type to
Custom Output (FFmpeg). - 2. Set FFmpeg Output Type to
Output to File. - 3. Set the file path to
/tmp/obs-hls/stream.m3u8. - 4. Set Container Format to
hls. - 5. Set Video Encoder to
h264_videotoolboxon Mac orlibx264on Windows/Linux. - 6. Set Video Bitrate to
6000 Kbpsand Rate Control toCBR. - 7. Set Audio Encoder to
aac.
hls_time=2 hls_list_size=10 hls_flags=delete_segments+append_list
4. Set resolution, frame rate, and keyframe interval
In Settings → Video, set Output (Scaled) Resolution to 1920x1080 and Common FPS Value to 60. Then back in the Recording tab, set the keyframe interval so it matches the 2-second segment length:
- At 60 fps (recommended), use
keyint=120. - At 30 fps (fallback), use
keyint=60.
5. Test the output
- 1. Click Start Recording in OBS, not Start Streaming.
- 2. Check
/tmp/obs-hlsfor a manifest and numbered.tsfiles. - 3. Confirm a new segment appears roughly every 2 seconds.
Quick troubleshooting
- If no files appear, make sure you started recording rather than streaming.
- If
h264_videotoolboxfails, switch tolibx264. - If files appear but the agent skips them as empty, try removing
delete_segmentsfrom the muxer settings and test again. - If the encoder cannot sustain 1080p60 (dropped frames in the OBS stats panel), fall back to 1080p30 at ~4500 kbps CBR or 720p60 at ~4000 kbps CBR.