Help Center/ Live/ Best Practices/ Reducing Stream Latency
Updated on 2024-03-08 GMT+08:00

Reducing Stream Latency

Generally, the latency for RTMP and FLV streaming is about 5 seconds. If the latency is too high, perform the following operations to lower the latency.

Setting the GOP

A Group of Pictures (GOP) is a collection of successive pictures. Each picture is a frame, and therefore a GOP is a group of frames. A live stream is actually a series of video frame rate components, including I frames and P frames. A GOP starts with an I frame and multiple P frames. When a user watches a video for the first time, the player needs to find the latest I frame from the server before playing the video and sends the I frame to the user. Therefore, reducing the number of frames in a GOP can reduce the time used by the player to load the GOP. The recommended keyframe interval is 1–2s.

Selecting a Streaming Protocol

Huawei Cloud Live supports three streaming protocols: RTMP, HTTP-FLV, and HLS.
RTMP: rtmp://Streaming domain name/AppName/StreamName
HTTP-FLV: http://Streaming domain name/AppName/StreamName.flv
M3U8: http://Streaming domain name/AppName/StreamName.m3u8
  • RTMP splits large video frames and audio frames, encrypts them, and transmits them as small data packets. However, packet disassembly and assembly are complex. Therefore, unexpected problems may occur if there are a large number of concurrent requests.
  • HLS is a streaming media protocol launched by Apple. It works by breaking the overall stream into a sequence of small HTTP-based segments (5–10s) and uses the M3U8 index table to manage these segments. The videos downloaded by the client are complete segments. Therefore, videos play smoothly. However, the player starts playback only after caching three or four segments. Therefore, there will be a latency of about 10–30s.
  • HTTP-FLV is launched by Adobe. Some tag headers are added to large video frames and audio and video headers. HTTP-FLV is mature in terms of latency and large-scale concurrency. However, it is only supported on certain mobile browsers.

To sum up, selecting HTTP-FLV as the streaming protocol can effectively reduce the latency. HLS is supported on most of browsers. Therefore, HLS is the first choice for many users.