Find below the required encoder settings for your RTMPS streams as well as general recommendation for everything else you should keep an eye on before you stream to Hopin.
The stream’s resolution largely determines its bitrate and frame rate (frames-per-second, or FPS).
|Acceptable Quality (SD) 480p (852x480)||Good Quality (HD) 720p (1280x720)||High Quality (Full HD) 1080p (1920x1080)|
|Average Bitrate||Up to 1500 Kbps||Up to 4500 Kbps||Up to 8500 Kbps|
|FPS||30||30 or 60||30 or 60|
|Keyframe interval||2 seconds||2 seconds||2 seconds|
Bitrate, FPS, and resolution are interrelated. The optimal values depend on circumstances and can be complicated to determine. Our best guidance is to start with the values above and experiment if desired. The goal is clear and smooth motion of video components during streaming and good resolution within the available bandwidth. Increasing frame rate and/or resolution increases overall streaming quality, but this is necessarily limited by bandwidth.
We support framerates of either 30 or 60 FPS. The higher the framerate, the better the quality -- as long as your encoder and network bandwidth can handle this.
The bitrate that is mentioned in the above table is the ‘total bitrate’ i.e. the combined bitrate of both the video and audio streams. As such do not configure the video bitrate to 8500Kbps with for instance an audio bitrate of 192Kbps. You need to ensure that the overall bitrate does not exceed 8500Kbps, and note this is a strict upper limit and if for some reason your total bitrate fluctuates slightly above this you will be disconnected. We therefore ask you to ensure to give some leeway for this and set the bitrate to 8000Kbps in case any network spikes / fluctuations might occur.
We support the following settings:
- Codec: AAC (LC)
- Bitrate: Anything up to 320Kbps
- Sample rate: 44.1 Khz or 48 Khz (it is best to match your production audio flow)
- Channels: Maximum 2 - Stereo (1: mono or 2: stereo audio channel support)
The following settings should be strictly adhered to. They are available to most H.264 video-encoding software or hardware APIs.
- On the video encoder, set IDR/Keyframe to a 2-second interval (or 1 second, for even lower end-to-end latency)
- H.264 level: Main (not High)
- Scene change: Off
- Chroma subsample: YUV420P
- CABAC: Preferred
Use CBR, Not VBR
Always use CBR (Constant BitRate), not VBR (Variable BitRate), as the rate-control method for encoders. CBR is better suited for the fixed-bandwidth nature of networks, and it produces more predictable, stable video playback for client devices. With a consistent bitrate, it is easy for viewers to select a quality level that their connection can handle over time.
Depending on the complexity of the scene, VBR can result in spikes in bitrate, which can cause frame drops before the video reaches our stage and/or buffering in client players. Remember any streaming bitrate above 8500Kbps will be rejected and your encoder will get disconnected with the subsequent interruptions to your viewers.
Use Progressive Signals
Use progressive signal flows; avoid any interlaced video in production flow and/or encoding. Progressive stream signals yield much better playback quality displaying a whole frame at a time, avoiding any motion artifacting that is produced when displaying an interlaced signal.
You must have a stable internet connection that can maintain an adequate, constant upload stream. An unstable internet connection could result in stream stuttering and lagging for your viewers.
Use wired connections. WiFi and LTE connections can be spotty or suffer from interference or latency due to bad QoS/packet-queue prioritization. Whenever possible, rely on a hardwired connection for streams.
Plan to allocate 50% more bandwidth than the minimum required. The overhead is added to compensate for the bitrate fluctuations in encoding of a video bitstream.
Use a dedicated Internet VLAN to encoding machines. Keeping the encoder on a separate network prevents potentially disruptive effects, including: pollution by traffic, bandwidth bottlenecks and adverse security factors.
Your video encoder must connect to Hopin over the RTMPS protocol associated with outbound port 443/TCP, make sure that port is open especially if streaming from within a corporate network behind a firewall, VPN, or proxy sever. For further info on network ports and URL whitelisting check out our Network Connectivity Settings article.