**This is an old revision of the document!**
HowTo: Third-Party Stream Ingest
You want your live content to be streamed over the C3VOC infrastructure during CCCongress or another large event? Here's how.
(Recordings have to be dealt with separately)
Get in Touch
To make sure your stream works on day 1 of the event we need to know of it beforehand so we can:
- configure your ingest endpoint
- provide appropriate transcoding-capacity
- adapt the streaming website
When we have provided you with an ingest endpoint name to use you just need to configure your encoder for one of the formats below.
Icecast Matroska Ingest
This is our preferred format for origin streams, because it supports open codecs and multiple audio/video-channels in a single-stream.
Stream-Format
- Transport: Icecast
- Container: mkv (Matroska)
- Video-Streams:
- H.264**, 1920×1080, 25 fps
- For detailed recommendations see bottom of the page
- Audio-Streams:
- (atleast 1, up to 3)
- AAC LC, Stereo, 48KHz, 192KBit/s
ffmpeg example
ffmpeg -re -y -nostdin -hide_banner \ -thread_queue_size 512 -i … \ -c:v libx264 -preset:v veryfast -profile:v main -pix_fmt yuv420p -flags +cgop \ -threads:v 0 -aspect 16:9 \ \ -r:v:0 25 -g:v:0 75 -crf:v:0 23 -maxrate:v:0 4M -bufsize:v:0 12M \ -map 0:v:0 \ \ -c:a aac -b:a 192k -ar 48000 -ac 2 \ -map 0:a:0 \ \ -f matroska \ -content_type video/webm \ -password {your_password} \ icecast://ingest.c3voc.de:8000/{your_endpoint}
RTMP Ingest
RTMP is the most widely used format for origin streams and is supported by many hardware/software-encoders. It is however limited to H264 video and Stereo MP3/AAC audio.
Stream-Format
- Transport: RTMP
- Container: FLV
- Video-Streams:
- H.264**, 1920×1080, 25 fps
- For detailed recommendations see bottom of the page
- Audio-Streams:
- AAC LC, Stereo, 48KHz, 192kbit/s
ffmpeg example
ffmpeg -y -re -nostdin -hide_banner \ -thread_queue_size 512 -i … \ -c:v libx264 -preset:v veryfast -profile:v main -pix_fmt yuv420p -flags +cgop \ -threads:v 0 -aspect 16:9 \ \ -r:v:0 25 -g:v:0 75 -crf:v:0 23 -maxrate:v:0 4M -bufsize:v:0 12M \ -map 0:v:0 \ \ -c:a aac -b:a 192k -ar 48000 -ac 2 \ -map 0:a:0 \ \ -f flv \ rtmp://ingest.c3voc.de:1935/stream/{your_endpoint}?auth={key}
OBS-studio example
- Settings
- Stream
- Service: Custom
- Server: rtmp://ingest.c3voc.de/stream/
- Stream Key: {your_endpoint}?auth={key}
- Output
- Output Mode: Advanced
- Streaming
- Encoder: Your choice (x264, vaapi, nvenc)
- Encoder Settings:
- Rate-Control: VBR (if selectable)
- Bitrate: 4000 Kbps
- Keyframe Interval: 3 seconds
- Video
- Base (Canvas) Resolution: 1920×1080
- Output (Scaled) Resolution: 1920×1080
- Integer FPS Value: 25
**Recommended encoder settings
- H.264:
- GOP-Size (Keyframe Interval): 3s
- Encoding-Mode: VBR (Variable Bitrate)
- Max-Bitrate 4Mbit/s (more is possible if your uplink allows it, but please stay below 10Mbit/s. If you want to push even more please ask.)