howto:3rdparty_ingest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
howto:3rdparty_ingest [2020/12/01 22:12] – [**Recommended encoder settings] ischluffhowto:3rdparty_ingest [2021/12/19 00:55] – [OBS-studio example] derchris
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/Play:
 +   * `rtmp://{host}/stream/{your_endpoint}?auth={key}`
 +   * Note: Play is currently always possible without auth
  
 === ffmpeg example === === ffmpeg example ===
Line 87: Line 96:
           * Rate-Control: VBR (if selectable)           * Rate-Control: VBR (if selectable)
           * Bitrate: 4000 Kbps           * Bitrate: 4000 Kbps
-          * Keyframe Interval: seconds+          * Keyframe Interval: seconds
     * Video     * Video
       * Base (Canvas) Resolution: 1920x1080       * Base (Canvas) Resolution: 1920x1080
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.: 
 +<code> 
 +mpv rtmp://ingest.c3voc.de/stream/{your_endpoint} 
 +</code> 
 + 
 + 
 +===== 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://{host}:1337?streamid=publish/{your_endpoint}/{auth_key}` 
 + * Play: 
 +   * `srt://{host}:1337?streamid=play/{your_endpoint}/{auth_key}` 
 + 
 +=== OBS === 
 + 
 +Same settings as with [[howto:3rdparty_ingest#obs-studio_example|RTMP]], but use the following in **Settings -> Stream**: 
 + 
 +* Service: `Custom…` 
 +* Server: `srt://{host}:1337?streamid=publish/{your_endpoint}` 
 +* Stream-Key: `{auth_key}` 
 + 
 +**Audio:** Use [[https://github.com/lukas2511/obs-studio|this OBS Fork]] ([[https://cloud.cccv.de/s/bczAqcWHXX8EkL6|compiled version]]) to be able to stream multiple audio Streams (for translations). 
 +=== ffmpeg example === 
 +<code> 
 +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:a 48000 -ac:a 2 \ 
 + -map 0:a:0 \ 
 +
 +        -f mpegts \ 
 +        srt://ingest.c3voc.de:1337?streamid=publish/{your_endpoint}/{auth_key} 
 +</code> 
 + 
 +=== How to test === 
 +You can play back your stream at the same endpoint you pushed to, e.g.: 
 +<code> 
 +mpv srt://ingest.c3voc.de:1337?streamid=play/{your_endpoint} 
 +</code> 
 + 
 + 
 +==== 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://baseurl/hls/native_hd.m3u8 
 +    * Segments must be in MPEG-TS format with .ts file ending 
 +    * Segments must be inside http://baseurl/hls/ 
 +  * A MPEG-DASH manifest at http://baseurl/dash/manifest.mpd 
 +    * Segments must be in WebM format with .webm file endings 
 +    * Segments must be inside http://baseurl/dash/ 
 +  * A 1920x1080 (or full-res) JPEG poster image at http://baseurl/thumbnail/poster.jpeg 
 +    * 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://baseurl/thumbnail/thumb.jpeg 
 +    * The thumbnail will be shown in the stream list 
 + 
 +The upload path supports GET/PUT/DELETE aswell as directory listing. 
 +The baseurl is currently assembled as follows: <code>host/upload/yourname/</code> 
 + 
 +You can test your uploaded content at: 
 +  * http://cdn.c3voc.de/dash/yourname/manifest.mpd 
 +  * http://cdn.c3voc.de/hls/yourname/native_hd.m3u8 
 +  * http://cdn.c3voc.de/thumbnail/yourname/poster.jpeg 
 +  * http://cdn.c3voc.de/thumbnail/yourname/thumb.jpeg 
 + 
 +==== Recommended encoder settings ====
  
   * H.264:   * H.264:
     * GOP-Size (Keyframe Interval): 3s     * GOP-Size (Keyframe Interval): 3s
     * Encoding-Mode: VBR (Variable Bitrate)     * 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.)+    * Max-Bitrate 6Mbit/s (more is possible if your uplink allows it, but please stay below 20Mbit/s. If you want to push even more please ask.)
  
  
  
  • howto/3rdparty_ingest.txt
  • Last modified: 2021/12/21 16:38
  • by derchris