Skip to main content

Programs

What Programs are and how they transport your streams through the RePro pipeline.

Updated over 2 months ago

Programs are the core building blocks of video streaming in RePro Stream. Each Program represents a live stream container where video flows in and out, providing the connection points you need to send video into RePro and distribute it to your viewers.


What is a Program?

In RePro Stream, a Program is essentially the live stream itself. When you create a Program inside your project, you are setting up a container where video can flow in and out. Think of Programs as the vehicle for your stream; authorised users can connect to it, but the Program itself remains a constant, manageable resource within your project.

Each Program provides ready-made connection details such as:

  • Input URLs for sending video into RePro from encoders (RePro Connect, hardware encoders, NDI sources)

  • Output URLs for pulling video out to viewers or other tools

  • Stream protocols like SRT, RTMP, or RTSP (RePro primarily uses SRT for security and reliability)

How Programs Work

Programs handle your incoming streams from start to finish of the streaming process. Your stream sources may change throughout production — switching between cameras, edit systems, or other video sources — but your Programs in RePro remain constant in your project, providing consistent input and output endpoints.

Key Benefits

Simple Stream Management You don't have to manually set up complicated server infrastructure. Each Program comes with ready-made input and output URLs—your encoder sends video in, and your viewers or tools can pull it out.

Professional Protocols Programs support SRT (Secure Reliable Transport), which means your streams are more secure and resilient to network issues compared to older options like RTMP. SRT includes up to 256-bit encryption and adaptive latency buffering.

Organised Multi-Stream Workflows Since every Program is part of a project, you can organise multiple streams in one place and quickly switch between them without losing track. This setup is especially useful in live production environments where speed and reliability matter.

Flexible Integration Programs streamline the technical side of streaming so you can focus on content, while giving you flexibility to integrate with the software and hardware you already use.

Creating a Program

To create a new Program:

  1. Navigate to your Project manager area.

  2. Select Programs from the left menu.

  3. Click Create Program at the top right.

In the Add Program section:

  • Choose a colour for easy identification (default is grey)

  • Enter a Program name (maximum 50 characters)

  • Enter a Program short name (3 characters) for quick reference

SRT Configuration

Encryption (Input and output)

  • Enable or disable SRT encryption (up to 256-bit)

  • Default setting uses maximum security

  • You can reduce encryption length if needed

Latency Buffer

  • Adjust buffer latency to help with lower data rate areas

  • Recommended starting point: 500ms

  • Higher latency improves stability but increases delay to end users

Custom Ports (Advanced)

  • Optionally customise SRT ports if you have specific requirements

  • RePro creates completely randomised and different SRT credentials per Program by default

Additional Options

Hover over any setting icon for more information about features like:

  • Hotlink Protection for stream URL security

  • DVR (Timeshift Recording if enabled for the org / project)

Click Add to create the Program.


Finding Program Connection Details

To connect your encoder or view your Program outputs:

  1. Click Programs in the left menu.

  2. Click on the Program name to open the right side-panel.

  3. Under Program Inputs, you'll see:

    • Full Input URL with all parameters

    • Split SRT Input Details (click to expand):

      • Domain/IP address

      • Input port

      • Encryption passphrase

  4. Use the eye icon to view or copy icon to copy these values.

Note: Input ports typically start with 1 (e.g., srt://lon1.repro.stream:10095), while output ports start with 2 (e.g., srt://lon1.repro.stream:20095). Make sure you use the correct port for broadcasting versus viewing.

Understanding SRT URLs

SRT (Secure Reliable Transport) is RePro's primary streaming protocol. Here's how to read an SRT URL:

SRT URL Format:

srt://[hostname]:[port]?passphrase=[passphrase]

Example:

srt://lon2.repro.stream:10031?passphrase=xxx123yyy456zzz789

Breaking this down:

  • srt:// - the protocol

  • lon2.repro.stream or 81.144.250.132 - the host domain or IP address

  • 10031 - the input port

  • xxx123yyy456zzz789 - the encryption passphrase

Best Practice: Use the domain-based host details rather than IP addresses. If the streaming server's IP ever changes, your hardware or software will continue to work without reconfiguration.

Program Workflow

Programs must be assigned to Channels before users can access them. See the Project Dashboard for a visual representation of how Programs connect through the hierarchy.

Assigning Programs to Channels

After creating a Program:

  1. Navigate to Channels in the left menu.

  2. Click on a Channel (or create a new one).

  3. Click Edit Channel Programs in the right side-panel.

  4. Toggle on your Program to add it to the Channel.

  5. Click Save.

Your Program is now part of the Channel and can be viewed by any Group with access to that Channel.

Program Settings and Options

Editing Programs Click the Edit button on a Program's row to modify:

  • Program name and short name

  • SRT settings (encryption, latency, ports)

  • Additional features (audio only, hotlink protection, DVR)

Deleting Programs Click the trash icon to remove a Program. You'll be asked to confirm. Deleting a Program removes it from all Channels.

Program Status Programs display as online (green) or offline (grey/red) in the Dashboard based on whether an active stream is connected.

Advanced Features

Hotlink Protection

Enable token-based URL security to prevent unauthorised sharing or access to stream URLs. See Hotlink Protection for details.

DVR (Timeshift Recording)

Record live streams for instant playback and review. See Timeshift Recording & Playback for details.

Timecode Support

Programs can carry timecode metadata from your encoder. See Timecode for details.

Protocols

  • SRT (primary, recommended)

  • RTMP/RTMPS (legacy support)

  • RTSP (legacy support)

For detailed codec information, see Supported Codecs and Protocols.

Supported Codecs and Protocols

RePro Programs support industry-standard codecs:

Video:

  • H.264 (recommended for broadest compatibility)

  • HEVC/H.265 (higher efficiency, not all browsers support playback)

Audio:

  • AAC (recommended)

  • Embedded audio from SDI/HDMI sources


Real-World Examples

Example 1: Multi-Camera Documentary Shoot

Scenario: Three-camera documentary with field producer monitoring remotely.

Programs Created:

  • "Interview Camera" - Main subject coverage

  • "B-Roll Camera" - Environmental shots

  • "Wide Safety" - Master shot backup

Configuration:

  • All cameras use HEVC @ 720p for bandwidth efficiency

  • SRT latency: 500ms (field location has variable cellular)

  • Hotlink Protection enabled (sensitive interview content)

Result: Producer can switch between all three feeds remotely, reviewing takes and directing the field team via phone while monitoring all pictures. See audio chat function for more details.

Example 2: Live News Remote Broadcast

Scenario: Breaking news coverage from a remote location, needs both high-quality and proxy feeds.

Programs Created:

  • "Field Camera HQ" - Full quality for broadcast

  • "Field Camera Proxy" - Low bitrate for mobile monitoring

Configuration:

  • HQ: HEVC @ 1080p, 8Mbps, 1500 - 2000ms latency

  • Proxy: HEVC @ 720p, 800kbps, 500ms latency (tolerates poor networks)

  • Both Programs feed from same encoder using multi-bitrate output

  • DVR enabled on HQ feed (2 hour buffer for review)

Result: Control room receives broadcast-quality feed while producers on mobile can monitor proxy feed without buffering.

Example 3: Post-Production Color Grade Review

Scenario: Colorist streaming grade sessions to remote director and DP.

Programs Created:

  • "Color Bay Output" - HDR grade session

  • "Color Reference Feed" - SDR monitoring

Configuration:

  • HDR Program: HEVC @ 1080p, 10-bit, BT.2020 color space

  • SDR Program: HEVC @ 1080p, 8-bit, Rec.709

Timecode metadata enabled on both

Result: Director reviews HDR grade on calibrated display, DP monitors SDR version, both can reference timecode for notes. Commentary track allows real-time discussion without interrupting grade.


Program-Specific Best Practices

Match Encoder Settings to Use Case

  • Live events: Lower latency (250-1000ms), accept some risk

  • Review/approval: Higher latency (1000-1500ms), prioritise stability

  • Archive/record: Maximum quality, latency less critical

Plan for Bandwidth Constraints

  • Field/remote: Create proxy Programs alongside HQ Programs

  • Multiple simultaneous viewers: Consider enabling transcoding/ABR

  • Low bandwidth areas: HEVC at lower bitrates beats H.264 at same bitrate

Use Meaningful Program Names

  • Include location: "Stage Left Camera" not "Camera 1"

  • Include purpose: "Client Review Mix" not "Output A"

  • Include format if multiple: "HQ Feed" vs "Proxy Feed"

Leverage Short Names Strategically

  • Use for quick visual identification: "A-C" for A Camera

  • Keep consistent within production: All cameras "A-C", "B-C", "C-C"

Test SRT Settings Before Critical Shoots

  • Start with 250ms latency and verify stability

  • Increase gradually if packet loss occurs

  • Document working settings for your typical locations

Use Colour Coding

  • Match Program colours to physical camera markers

  • Use red for critical/primary feeds

  • Use blue for backup/safety feeds

  • Consistent colour scheme helps in multi-cam productions

Consider Programs as Long-Term Resources Once configured and tested, Programs become reliable endpoints. Unlike temporary stream keys, Program configurations persist and can be reused across production days.

Future Development

Programs as Objects (Roadmap) Currently, a Program is tied to a specific Project. In future releases, Programs will become portable resources that can be dynamically assigned and reassigned between Projects within an Organisation. This is particularly beneficial for post-production workflows where a limited number of encoders serve multiple client projects, making it easier to reallocate Program/Encoder resources as needed.


Need Help?

For access or configuration issues, see Troubleshooting Access Issues.

For technical support or questions about Programs, contact us at [email protected] or use our support chat widget in the bottom right corner.

Did this answer your question?