Stream from FFmpeg
FFmpeg is perfect for automated or headless ingest — looping a file, restreaming a capture device, or driving a scheduled channel. Push FLV over RTMP to your ingest URL and the relay engine takes it from there.
Step by step
Follow these in FFmpeg — it takes about a minute.
Install FFmpeg
Use your package manager (brew, apt, choco) or a static build from ffmpeg.org.
Build the output URL
Combine your RTMP server and stream key into one quoted FLV target.
Choose your input
Swap input.mp4 for a device, an RTSP camera, or a playlist as needed.
Run the command
FFmpeg connects and publishes; Stream Repeater relays to every enabled destination.
Your ingest details
Use these in the fields above. The exact values for your stream are on its page in the portal.
Your stream key is unique and can be rotated at any time. A separate read-only playback key is provided for previews, so sharing a preview never exposes your publish credentials.
Pro tips for FFmpeg
Small tweaks that keep your relays clean and resilient.
- Add -stream_loop -1 before -i to loop a file forever (handy for always-on channels).
- -g 60 sets a 2-second keyframe interval at 30 fps (use -g 120 for 60 fps).
- Use -c copy instead of re-encoding if your source is already H.264/AAC at the right bitrate.
Recommended encoder settings
Safe defaults that most platforms accept for clean restreaming.
| Video codec | H.264 (x264 or hardware) |
|---|---|
| Resolution | 1920×1080 (or 1280×720) |
| Frame rate | 30 or 60 fps |
| Bitrate | 4,500–6,000 kbps |
| Keyframe interval | 2 seconds |
| Audio | AAC, 160 kbps, 44.1 kHz |
Other encoder guides
Stream from another app? The setup is the same idea everywhere.
Stream once. Reach everywhere.
Connect FFmpeg to one Stream Repeater source and relay it to every platform you need.
Get started free Read the docs