In this article we will discuss and make recommendations for supported High Definition (720HD) Video in CaféX video solutions.
The CaféX Media Broker allows Video configuration for the following items:
Detailed Descriptions of these values can be retrieved from the "Administering FCSDK" documentation.
|Default Resolution (Width/Height)||
If any values are removed from the SDP, the Default Resolution will be added before sending outbound SDP.
|Max Resolution (Width/Height)||
Any inbound imageattr values larger than these are removed before sending outbound SDP
|Frames per Second||When the Media Broker transcodes, this value is used to fix the video frame rate.|
|Video Scaling Mode||When the Media Broker transcodes; this value manipulates the resolution of the encoder before video is sent.|
|Initial Adaptive Bitrate||When a Call starts, this is the Initial valued utilized by the Media Broker's encoder.|
|Minimum Adaptive Bitrate||This is the Minimum acceptable value of video produced by the encoder. It is also the minimum value the Media Broker will request from Clients.|
|Maximum Adaptive Bitrate||This is the maximum value given to the video encoder. It is also the maximum value the Media Broker will request from Clients.|
Understanding Adaptive Bitrate
Video endpoints distributed over the internet cannot guarantee a stable bitrate required for Real Time Communications. It is important for the stream of packets which construct a video call arrive at their destination in a timely fashion; depending on the network pathway between an client and Media Broker, network buffering or QoS restrictions may limit or severely impact Video performance.
Media Broker implements REMB (for WEB-RTC Clients) and TMMBR (for SIP Clients) specifications so that Media Broker can monitor the RTCP Reports and react to the ever changing environment clients may face.
These protocols will request more or less bandwidth from clients if the network conditions change. If there is no change the protocol will maintain the current bitrate.
Media Broker allows the administrator to configure constraints on the bandwidth to maintain video quality parameters can be met by the business requirement.
In its current implementation Media Broker does not support Dynamic Video Resolution Changes; this means if a call is established at 720HD this resolution will be maintained throughout the call.
The Maximum & Minimum Adaptive Bitrate values, give bounds to the threshold that the Media Broker will go to when rendering video.
This value effects Media Broker in two ways:
Firstly, Media Broker will request no-more or less than these value from Clients.
Secondly, Media Broker will not use a value outside of this range to Encode Video. By this means Media Broker will ensure that the Video it generates is of an appropriate quality and not render a 720HD video with insufficient bitrate, nor render video with an inappropriately high bitrate with a diminished return.
The Initial Adaptive Bitrate value is used by Media Broker when sending Video at the beginning of a call before there is enough data collected from the RTCP to behave appropriately.
In most consumer cases it is appropriate to set this value equal to the Minimum Adaptive Bitrate; if the network is sufficient the bitrate of the call will improve shortly after the call starts; however, some video solutions may prefer the video starts at a higher bitrate, in which case clients on an insufficient networks will have a worse experience until the bitrate falls.
The diagram below shows how data is received at a client with an Actual Physical Bandwidth which is capped at 350kbps. Such a consumer will never be able to receive more than 350kbps due to a limitation in their network capabilities.
The graphs on the left hand side show what the user's experience will be when the Initial Value is around 512kbps (more than the client's maximum). The graphs on the right hand side show what happens for this user when the Initial value is set to 300kbps (below the client's minimum).
The graph on the left shows the user will receive a poor video experience for the first few seconds of the call (and data may be lost); the user will see degraded video and audio may be effected.
The graph on the right shows the user's maximum bandwidth is reached very quickly and there is very little interruption to the user's experience.
Thus far this article has considered configuration for WebRTC clients. In solutions where clients are establishing video calls to traditional SIP-based video devices, such as deskphones, soft-UAs or MCUs the Media Broker can utilize the network architecture for a better video experience.
If SIP-endpoints are based in a dedicated network the Media Broker can apply a fixed-bitrate to a video negotiation. This is advantageous because typically dedicated video-networks can guarantee the network stability required for communications and thus both endpoints can agree an optimal bitrate when the call is established. This means the Media Broker can received the optimal video prior to performing transcoding.
This feature is available in FCSDK 2.2 and implemented by adding AS parameters to SDP negotiations on SIP.
The value of the fixed bitrate can be found in the Media Broker's proxy.properties file. The property is sip.bitrate.override.main=4000000. This will set an AS parameter equal to 4mbps.
Recommendations for HD Video
The following Values are recommended for High Definition Video at 720HD (at 30fps):
Default & Maximum Resolution Width/Height - 1280 and 720
Frame Rate : 30fps [Transcoding Only]
Video Scaling Mode : None (or Borders) [Transcoding Only]
Initial Adaptive Rate Control Value: 1200 to 1500 kbps
Minimum Adaptive Rate Control Value: 1200 kbps [Values lower than this may not be considered High Definition by many consumers].
Maximum Adaptive Rate Control Value: 2048 kbps[Values higher than this will result in diminishing returns and extra bandwidth may not result in a better video experience]
Fixed Bitrate Override : 220000 [Certain MCUs perform better with values approaching 4Mbps]
Comments are disabled on these articles if you require help contact firstname.lastname@example.org.