Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| howto:3rdparty_ingest [2021/12/12 14:20] – andi | howto:3rdparty_ingest [2026/02/24 23:07] (current) – ischluff | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| - adapt the streaming website | - 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. | + | When we have provided you with an ingest endpoint name to use you need to configure your encoder for one of the formats below. |
| - | ===== Icecast Matroska | + | ===== Ingest |
| - | This is our preferred | + | ==== SRT Ingest |
| + | SRT is our preferred | ||
| + | Please note however that SRT won't prevent you from saturating your uplink, so choose | ||
| === Stream-Format === | === Stream-Format === | ||
| - | * Transport: | + | * Transport: |
| - | * Container: | + | * Container: |
| * Video-Streams: | * Video-Streams: | ||
| * H.264**\*\***, | * H.264**\*\***, | ||
| - | * For detailed recommendations see bottom of the page | + | * For detailed recommendations see " |
| * Audio-Streams: | * Audio-Streams: | ||
| * (atleast 1, up to 3) | * (atleast 1, up to 3) | ||
| - | * AAC LC, Stereo, 48KHz, | + | * AAC LC, Stereo, 48KHz, |
| + | |||
| + | === URLs === | ||
| + | |||
| + | * Hosts: | ||
| + | * `ingest.c3voc.de` | ||
| + | * `ingest2.c3voc.de` | ||
| + | * Publish: | ||
| + | * `srt:// | ||
| + | * Play: | ||
| + | * `srt:// | ||
| + | |||
| + | === OBS === | ||
| + | |||
| + | Same settings as with [[howto: | ||
| + | |||
| + | * Service: `Custom…` | ||
| + | * Server: `srt:// | ||
| + | |||
| + | **Audio:** Use [[https:// | ||
| === ffmpeg example === | === ffmpeg example === | ||
| < | < | ||
| - | ffmpeg | + | ffmpeg -y -re -nostdin -hide_banner \ |
| - | -thread_queue_size 512 -i … \ | + | -thread_queue_size 512 -i … \ |
| - | -c:v libx264 -preset:v veryfast -profile:v main -pix_fmt yuv420p -flags +cgop \ | + | -c:v libx264 -preset:v veryfast -profile:v main -pix_fmt yuv420p -flags +cgop \ |
| - | -threads:v 0 -aspect 16:9 \ | + | -threads:v 0 -aspect 16:9 \ |
| - | \ | + | \ |
| - | -r:v:0 25 -g:v:0 75 -crf:v:0 23 -maxrate: | + | -r:v:0 25 -g:v:0 75 -crf:v:0 23 -maxrate: |
| - | -map 0:v:0 \ | + | -map 0:v:0 \ |
| - | \ | + | \ |
| - | -c:a aac -b:a 192k -ar 48000 -ac 2 \ | + | -c:a aac -b:a 192k -ar:a 48000 -ac:a 2 \ |
| - | -map 0:a:0 \ | + | -map 0:a:0 \ |
| - | \ | + | \ |
| - | -f matroska | + | -f mpegts |
| - | | + | srt:// |
| - | -password {your_password} \ | + | |
| - | icecast:// | + | |
| </ | </ | ||
| + | === How to test === | ||
| + | You can play back your stream at the same endpoint you pushed to, e.g.: | ||
| + | < | ||
| + | mpv srt:// | ||
| + | </ | ||
| + | |||
| + | The transcoded stream should be available via | ||
| + | < | ||
| + | mpv http:// | ||
| + | </ | ||
| - | ===== RTMP Ingest | + | ==== RTMP Ingest |
| RTMP is the most widely used format for origin streams and is supported by many hardware/ | RTMP is the most widely used format for origin streams and is supported by many hardware/ | ||
| Line 53: | Line 82: | ||
| * Video-Streams: | * Video-Streams: | ||
| * H.264**\*\***, | * H.264**\*\***, | ||
| - | * For detailed recommendations see bottom of the page | + | * For detailed recommendations see " |
| * Audio-Streams: | * Audio-Streams: | ||
| * AAC LC, Stereo, 48KHz, 192kbit/s | * AAC LC, Stereo, 48KHz, 192kbit/s | ||
| Line 96: | Line 125: | ||
| * Rate-Control: | * Rate-Control: | ||
| * Bitrate: 4000 Kbps | * Bitrate: 4000 Kbps | ||
| - | * Keyframe Interval: | + | * Keyframe Interval: |
| * Video | * Video | ||
| * Base (Canvas) Resolution: 1920x1080 | * Base (Canvas) Resolution: 1920x1080 | ||
| Line 106: | Line 135: | ||
| < | < | ||
| mpv rtmp:// | mpv rtmp:// | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== SRT Ingest | ||
| - | SRT is a relatively new streaming protocol featuring ARQ, which can theoretically support a wide range of container formats. Currently however only MPEG-TS is widely used. | ||
| - | |||
| - | === Stream-Format === | ||
| - | * Transport: SRT | ||
| - | * Container: MPEG-TS | ||
| - | * Video-Streams: | ||
| - | * H.264**\*\***, | ||
| - | * For detailed recommendations see bottom of the page | ||
| - | * Audio-Streams: | ||
| - | * (atleast 1, up to 3) | ||
| - | * AAC LC, Stereo, 48KHz, 192kbit/s | ||
| - | |||
| - | |||
| - | === URLs === | ||
| - | |||
| - | * Hosts: | ||
| - | * `ingest.c3voc.de` | ||
| - | * `ingest2.c3voc.de` | ||
| - | * Publish: | ||
| - | * `srt:// | ||
| - | * Play: | ||
| - | * `srt:// | ||
| - | |||
| - | |||
| - | === 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: | ||
| - | -map 0:v:0 \ | ||
| - | \ | ||
| - | -c:a aac -b:a 192k -ar:a 48000 -ac:a 2 \ | ||
| - | -map 0:a:0 \ | ||
| - | \ | ||
| - | -f mpegts \ | ||
| - | srt:// | ||
| - | </ | ||
| - | |||
| - | === How to test === | ||
| - | You can play back your stream at the same endpoint you pushed to, e.g.: | ||
| - | < | ||
| - | mpv srt:// | ||
| </ | </ | ||
| Line 175: | Line 155: | ||
| The baseurl is currently assembled as follows: < | The baseurl is currently assembled as follows: < | ||
| - | You can test your uploaded | + | ===== Output Formats ===== |
| - | * http://cdn.c3voc.de/ | + | Per default we transcode |
| - | * http:// | + | |
| - | * http:// | + | They are served over different protocols as documented here: [[:cdn# |
| - | * http://cdn.c3voc.de/ | + | |
| - | ==== Recommended encoder settings ==== | + | ===== Recommended encoder settings |
| * H.264: | * H.264: | ||