Required RTMP Streaming Encoder Settings

  • Updated

All_plans_.png

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. 

Resolution/Bitrate/FPS

The stream’s resolution largely determines its bitrate and frame rate (frames-per-second, or FPS).

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)
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.

Note: We do not support 4K streams at this time, anything over 1080p will be rejected and will not stream properly, also any stream Bitrate over 8500Kbps will be rejected. Keep in mind that 5000Kbps works well in most situations. 

Audio Settings

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)

Video Settings 

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
Note: Once you have applied the video and audio settings and have determined which quality you want to stream on (Acceptable / Good or High) we highly recommend you stream to the stage a test feed of at least an hour and monitor the stream by previewing the event. In addition once you have concluded your streaming test, review the recordings tab on your event’s dashboard. If you notice multiple recordings being generated for one event, it might be that you have the wrong encoding settings configured. 

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.

Network Requirements

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. 

 

Feel free to reach out to us at support@hopin.com in case you have questions or need assistance.

Was this article helpful?