Find below our recommended encoder settings for your RTMPS video streams as well as general recommendation for everything else you should keep an eye on before you stream to Hopin.
Channel type determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. We support two channel types:
- STANDARD: Multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps (8500Kbps). Audio is transcoded only for renditions 360p and below; above that, audio is passed through. This is the default.
- BASIC: We deliver the original input to viewers. The viewer’s video-quality choice is limited to the original input. Resolution can be up to 480p and bitrate can be up to 1.5 Mbps.
The stream’s resolution largely determines its bitrate and frame rate (frames-per-second, or FPS). Use the following guidelines; these are our recommendations. Note the resolutions shown below are landscape orientation (horizontal x vertical), so reverse these for portrait orientation.
|Acceptable Quality (SD) 480p (852x480)||Good Quality (HD) 720p (1280x720)||High Quality (Full HD) 1080p (1920x1080)|
|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 video quality, but this is necessarily limited by bandwidth.
We supports framerates up to 60 FPS. The higher the framerate, the better the quality -- as long as there is adequate bitrate bandwidth. Depending on the application, a low framerate can be fine; e.g., for a security camera.
Note: We do not support 4K streams at this time, anything over 1080p will be rejected and will not stream properly, also any Bitrate over 8500Kbps will be rejected. Keep in mind that 5000Kbps works well in most situations.
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)
We recommend the following settings. 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 (preferred)
- Chroma subsample: YUV420P
- CABAC: Preferred
Tip: Experiment with your encoder settings with our recommendations to see what works best for your content type, hardware/software encoder, and internet connection. We strongly advise to run streaming tests before your live event to make sure all works as expected.
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.
We strongly recommend you only use CBR. If you use VBR, your streams will be more subject to buffering and playback that is not smooth.
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.
Note: More detailed information can be found on our preferred provider's support page: Amazon IVS. These setting should also work fine for our fallback provider: Mux.
Feel free to reach out to us at email@example.com in case you have questions or need assistance.