Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
howto:3rdparty_ingest [2020/12/01 22:12] – [**Recommended encoder settings] ischluff | howto:3rdparty_ingest [2021/12/15 21:25] – [OBS] jtbx | ||
---|---|---|---|
Line 56: | Line 56: | ||
* Audio-Streams: | * Audio-Streams: | ||
* AAC LC, Stereo, 48KHz, 192kbit/s | * AAC LC, Stereo, 48KHz, 192kbit/s | ||
+ | |||
+ | |||
+ | === URLs === | ||
+ | * Hosts: | ||
+ | * `ingest.c3voc.de` | ||
+ | * `ingest2.c3voc.de` | ||
+ | * Publish/ | ||
+ | * `rtmp:// | ||
+ | * Note: Play is currently always possible without auth | ||
=== ffmpeg example === | === ffmpeg example === | ||
Line 93: | Line 102: | ||
* Integer FPS Value: 25 | * Integer FPS Value: 25 | ||
- | ==== **Recommended encoder settings ==== | + | === How to test === |
+ | 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**\*\***, | ||
+ | * 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:// | ||
+ | * Stream-Key: `{auth_key}` | ||
+ | |||
+ | **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 at the same endpoint you pushed to, e.g.: | ||
+ | < | ||
+ | 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 ==== | ||
* H.264: | * H.264: | ||
* GOP-Size (Keyframe Interval): 3s | * GOP-Size (Keyframe Interval): 3s | ||
* Encoding-Mode: | * Encoding-Mode: | ||
- | * Max-Bitrate | + | * Max-Bitrate |