Skip to content
Game Action 360 SPORTS
HUB
Menu
Application manual

Course Collector: Camera station

Operational reference for camera station in Course Collector.

Updated November 4, 2026 · 2 minute read · Application 1.0.11

Camera station

  • macOS: use AVFoundation camera index, such as 0:none for video without microphone. Find connected cameras lists device indices. Grant Terminal/Python camera permission when macOS prompts.
  • Windows: use the DirectShow camera name. Find connected cameras lists names.
  • Linux: use a Video4Linux device, such as /dev/video0, with permission to access it.
  • SRT: choose SRT, enter camera host/port, and select Caller, Listener or Rendezvous. Set latency in milliseconds, optional Stream ID, encryption passphrase (10–79 characters) and 128/192/256-bit AES. Listener example: srt://0.0.0.0:9000; the camera sends to the collection machine's LAN IP/port. Caller example: srt://192.168.1.50:9000 when the camera listens.
  • RTSP: enter rtsp://camera-address:554/path (or RTSPS) and select TCP or UDP transport. Include camera credentials if required. The collector pulls from the camera's RTSP server.
  • RTMP: select Pull to read an existing rtmp://server/live/stream (or RTMPS) source. Select Listener for an incoming camera publisher: collector address rtmp://0.0.0.0:1935/live/course; configure the camera to publish to rtmp://COLLECTOR_LAN_IP:1935/live/course. The app accepts a single source for the active take.
  • NDI: direct reception, without an external bridge. Install the official 64-bit NDI runtime/SDK from https://ndi.video/for-developers/ndi-sdk/ matching your Python architecture. The GUI can use automatic runtime detection or an explicit path to Processing.NDI.Lib.x64.dll, libndi.dylib, or libndi.so. You can also set NDI_RUNTIME_PATH. Press Discover NDI cameras, select the exact source name, then test it. Optional Extra discovery IPs helps find senders across routed networks when multicast discovery is unavailable. SDK binaries are not bundled; sender codec support depends on the installed runtime.

Use Test camera connection before a take: it requires a decoded video frame rather than simply accepting a URL. For listener modes, start publishing from the camera while the test runs; after the test disconnects, the sender may need to reconnect for recording. SRT requires an FFmpeg build with libsrt. The UI reports installed protocol capability. NDI tests use the installed runtime. Allow required network ports through the camera machine's firewall.

  • Synthetic test: exercises the recording workflow locally, clearly labeled. Synthetic takes are blocked from Hub upload.

The collector records video only, at source frame rate with H.264 encoding. The local preview updates once per second. Camera stream credentials stay on the capture machine and are never included in Hub payloads. NDI timestamps/timecodes are retained in ndi_frames.jsonl, with compact timing provenance uploaded alongside the session. Missing NDI frames up to a two-second gap are represented by repeated video frames to preserve elapsed time; longer gaps, backwards timestamps, and format changes stop the take for recovery/review instead of silently compressing its timeline. Do not publish local camera log files containing sensitive stream diagnostics.

Need more help with this?

Search a specific symptom, review related guides below, or prepare a report with the app version, operating system and exact error. Guides describe the documented release; installed versions and subscription access can differ.

Prepare a support report

Related guides

Troubleshooting · 2 min

Troubleshooting: start here

A reusable process for finding the failing layer and avoiding unnecessary reinstalls.

Application reference manuals · 2 min

Audio-to-NDI: Operation

Operational reference for operation in Audio-to-NDI.

Audio-to-NDI