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 [2020/09/03 19:43] – [Stream-Format] ischluff | howto:3rdparty_ingest [2021/12/21 16:38] (current) – [OBS] derchris | ||
|---|---|---|---|
| Line 20: | Line 20: | ||
| * Video-Streams: | * Video-Streams: | ||
| * H.264**\*\***, | * H.264**\*\***, | ||
| + | * For detailed recommendations see bottom of the page | ||
| * Audio-Streams: | * Audio-Streams: | ||
| * (atleast 1, up to 3) | * (atleast 1, up to 3) | ||
| Line 31: | Line 32: | ||
| -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 \ | ||
| \ | \ | ||
| Line 52: | Line 53: | ||
| * Video-Streams: | * Video-Streams: | ||
| * H.264**\*\***, | * H.264**\*\***, | ||
| + | * For detailed recommendations see bottom of the page | ||
| * Audio-Streams: | * Audio-Streams: | ||
| - | * AAC LC, Stereo, 48KHz, | + | * AAC LC, Stereo, 48KHz, |
| + | |||
| + | |||
| + | === URLs === | ||
| + | * Hosts: | ||
| + | * `ingest.c3voc.de` | ||
| + | * `ingest2.c3voc.de` | ||
| + | * Publish/ | ||
| + | * `rtmp:// | ||
| + | * Note: Play is currently always possible without auth | ||
| === ffmpeg example === | === ffmpeg example === | ||
| Line 62: | Line 73: | ||
| -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 \ | ||
| \ | \ | ||
| Line 85: | Line 96: | ||
| * 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 91: | Line 102: | ||
| * Integer FPS Value: 25 | * Integer FPS Value: 25 | ||
| - | ==== **Required | + | === How to test === |
| - | The stream needs to adhere to a certain GOP-Size/Keyframe Interval to work properly | + | You can play back your stream at the same endpoint you pushed to, e.g.: |
| + | < | ||
| + | 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**\*\***, 1920x1080, 25 fps | ||
| + | * 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:// | ||
| + | |||
| + | === OBS === | ||
| + | |||
| + | Same settings as with [[howto: | ||
| + | |||
| + | * Service: `Custom…` | ||
| + | * Server: `srt:// | ||
| + | |||
| + | **Audio:** Use [[https:// | ||
| + | === 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 | ||
| + | < | ||
| + | mpv srt:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Direct Upload ==== | ||
| + | If you have agreed with us on directly uploading muxed stream to our CDN-master we will provide you with HTTP-credentials and a base-URL to upload to. You will have to provide the following formats: | ||
| + | * A HLS master playlist at http:// | ||
| + | * Segments must be in MPEG-TS format with .ts file ending | ||
| + | * Segments must be inside http:// | ||
| + | * A MPEG-DASH manifest at http:// | ||
| + | * Segments must be in WebM format with .webm file endings | ||
| + | * Segments must be inside http:// | ||
| + | * A 1920x1080 (or full-res) JPEG poster image at http:// | ||
| + | * Poster images should ideally not exceed 150k in size | ||
| + | * The poster image will be shown in the stopped player | ||
| + | * A 213x120 JPEG thumbnail at http:// | ||
| + | * The thumbnail will be shown in the stream list | ||
| + | |||
| + | The upload path supports GET/ | ||
| + | The baseurl is currently assembled as follows: < | ||
| + | |||
| + | You can test your uploaded content at: | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | ==== Recommended encoder settings ==== | ||
| - | * GOP-Size (Keyframe Interval): 3s | + | * H.264: |
| - | * Encoding-Mode: | + | |
| - | | + | * Encoding-Mode: |
| + | * Max-Bitrate | ||