What makes a live video system good? Different people, different preferences, for network video live system evaluation standards are also different. However, I believe that everyone will have the same criteria for the performance of the network video live broadcast system. That is, delay, lag and first screen time in live broadcast, which directly affect user experience.
In view of these three points, what kind of optimization scheme can make the network video live broadcasting system more meet the needs of users? We think there are three main aspects.
1. Optimize the server
In the live server, set up a cache to store GOP for client playback. The live broadcast server caches the current GOP sequence. When the player requests relevant data, the CDN will return to the client from the I frame, so as to ensure that the client can quickly obtain the I frame for display. Because the cache is the previous video information, when the audio data arrives at the player, the video is fast-forwarded to ensure the synchronization between audio and video.
2. Video optimization
If we just want to optimize the first start delay of the network video broadcast system, we can use the method of inserting more key frames between the video frames. In this way, the client can decode the video stream as soon as it receives it. However, if we want to optimize the cumulative delay in the transmission process, we need to avoid using key frames as much as possible to avoid the GOP enlargement. Under the condition that the same video quality is guaranteed, the larger the I-frame (key frame) is, the higher the bit rate will be, and the higher the network bandwidth required in the transmission process will be, resulting in the greater the cumulative delay. Although this optimization effect is not very obvious in the network video broadcast system with second-level delay, it will be very obvious in the system with 100ms or even lower delay. It should be noted that acc-LC Codec should be used to encode audio as far as possible in the development process. Although he-ACC and HE-ACC 2 have high coding efficiency, the coding time is relatively long.
3. Reduce screen splashes
In the process of live broadcast, occasionally encountered the phenomenon of the screen. This phenomenon is caused by frame loss. For example, if we lose what we call a keyframe, and then send a P-frame to FFMPEG to decode the resulting image will be a spline or Mosaic. Moreover, b frame is not used in this transmission process, there are only two kinds of transmission process: one is I frame, that is, the key frame, the other is P frame.
The above is just a simple analysis of the optimization scheme of network video broadcast system. However, in the actual live broadcast development process, only the frequent delay, lag and first screen time should be taken as the focus of improving users’ live broadcast experience and corresponding solutions should be formulated to develop a high-quality live video system.