System Requirements

Supported platforms and hardware requirements

Supported Platforms

BPTimecode runs natively on all major operating systems:

🪟

Windows

  • Windows 10 (version 1607+)
  • Windows 11
  • Windows Server 2016+
  • x64 architecture
🍎

macOS

  • macOS 11 (Big Sur) or later
  • Apple Silicon (M1/M2/M3)
  • Intel x64
🐧

Linux

  • Ubuntu 20.04 LTS+
  • Debian 10+
  • RHEL/CentOS 8+
  • x64 and ARM64

Hardware Requirements

Minimum
CPU Dual-core 1.6 GHz
RAM 512 MB
Storage 50 MB
💡 Note: BPTimecode is designed to be lightweight. Even a Raspberry Pi 4 can handle multiple timecode slots with full protocol support.

Network Requirements

BPTimecode communicates over standard network protocols. Ensure the following ports are available:

Port Protocol Purpose Configurable
8080 TCP HTTP API & Web UI Yes (--port)
9000 UDP OSC Control Yes (--osc-port)
6454 UDP Art-Net (Tx/Rx) Yes (per device)
5568 UDP sACN (E1.31) Yes (per device)

Network Modes

Art-Net and sACN outputs support multiple network modes:

Broadcast

Send to all devices on the network segment. Default for Art-Net.

Unicast

Send to a specific IP address. Reduces network traffic.

Multicast

Send to a multicast group. Default for sACN (E1.31).

💡 Tip: For production environments, use unicast when possible to minimize network congestion and improve reliability.

Audio Requirements (LTC)

For LTC (Linear Timecode) audio generation and reception:

Output (LTC Generation)

  • Any audio output device supported by your OS
  • 48 kHz sample rate recommended (44.1 kHz also supported)
  • Mono or stereo output

Input (LTC Reception)

  • Audio input device with line-level input
  • 48 kHz sample rate for best results
  • Low-latency audio drivers recommended for Windows (ASIO)

Platform Notes

🪟
Windows: Uses Windows Audio Session API (WASAPI). For lowest latency, use ASIO-compatible hardware.
🍎
macOS: Uses Core Audio. Built-in audio works well; external interfaces recommended for professional use.
🐧
Linux: Requires PulseAudio or ALSA. Install libasound2 for ALSA support.

Raspberry Pi

BPTimecode runs excellently on Raspberry Pi, making it ideal for dedicated timecode distribution systems.

Supported Models

  • Raspberry Pi 4 (2GB+ RAM recommended)
  • Raspberry Pi 5
  • Raspberry Pi 400
  • Any ARM64-compatible SBC running Linux

Recommended Setup

  • Raspberry Pi OS (64-bit) Lite or Desktop
  • 2GB+ RAM for multiple concurrent slots
  • Ethernet connection for reliable network timing
  • USB audio interface for LTC (built-in 3.5mm jack works but may have latency)

Installation

curl -fsSL https://timecode.bpshowtools.com/install.sh | bash

Running as a Service

For headless operation, run BPTimecode as a systemd service:

# Create service file
sudo tee /etc/systemd/system/bptimecode.service <<EOF
[Unit]
Description=BPTimecode Server
After=network.target

[Service]
Type=simple
User=pi
ExecStart=/usr/local/bin/bptimecode serve --port 8080
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# Enable and start
sudo systemctl enable bptimecode
sudo systemctl start bptimecode

Docker (Coming Soon)

Official Docker images will be available for containerized deployments. In the meantime, BPTimecode can run in any container with .NET 9 runtime.

📦 Note: For audio support in Docker, you'll need to pass through audio devices using --device flags or use network-only protocols (Art-Net, sACN, OSC).