FMUSER Wirless Transmit Video And Audio More Easier !
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
We shared how to optimize the live broadcast experience on many online and offline occasions, and explained in detail the reasons for the low latency and stuttering of each part and the corresponding optimization principles. In fact, the live broadcast system of audio and video is a complex engineering system. To achieve very low-latency live broadcast, complex system engineering optimization and a very familiar grasp of various components are required. Here we share a few simple and commonly used tuning techniques.
Coding optimization
1. Make sure that Codec is enabled with the lowest latency setting. Codec generally has low-latency optimized switches, especially for H.264. Many people may not know that the H.264 decoder normally caches a certain video frame before displaying it. For QCIF resolution video (176 × 144), it usually caches 16 frames, and for 720P video, it caches 5 frames. . For the reading of the first frame, this is a big delay. If your video is not encoded and compressed using H.264, make sure that the B frame is not used. It will also have a greater impact on the delay, because the decoding of the B frame in the video depends on the preceding and following video frames, which will increase the delay.
2. Encoders generally have a delay caused by code control, which is generally called the initialization delay or the buffer size of the video buffer checker VBV, which is regarded as the buffer between the encoder and the decoder bit stream, without affecting the video quality. You can set it as small as possible to reduce the delay.
3. If you only optimize the first opening delay, you can insert more key frames between video frames, so that the client can decode it as soon as possible after receiving the video stream. However, if you need to optimize the cumulative delay during the transmission process, use as few key frames as possible, that is, I frames (GOP becomes larger). Under the condition of ensuring the same video quality, the more I frames, the greater the bit rate, and the transmission required The more network bandwidth, it means that the cumulative delay may be larger. This optimization effect may not be obvious in a system with a second-level delay, but it will be very obvious in a system with a delay of 100 ms or less. At the same time, try to use AAC-LC Codec to encode audio. Although HE-AAC or HE-AAC V2 has high encoding efficiency, it takes longer to encode, and the transmission delay caused by the production of larger audio volume will affect the transmission of video streams. Said the impact is smaller.
4. Do not use the video compression format of video MJPEG, at least use MPEG4 video compression format without B frame (Simple profile), or even better use H.264 baseline profile (X264 also has an optimization switch of "-tune zerolatency") . Such a simple optimization can reduce the delay because it can encode full frame rate video at a lower bit rate.
5. If FFmpeg is used, reduce the values of the "-probesize" and "-analyze duration" parameters. These two values are used for video frame information monitoring and the duration of monitoring. The larger the two values, the impact on the encoding delay The larger the value, the analyzeduration parameter does not even need to be set for the video stream in the live broadcast scene.
6. Fixed rate coding CBR can eliminate the influence of network jitter to a certain extent. If you can use variable rate coding VBR, you can save some unnecessary network bandwidth and reduce certain delay. Therefore, it is recommended to use VBR for encoding as much as possible.
Transmission protocol optimization
1. Try to use RTMP instead of HTTP-based HLS protocol for transmission between server nodes and nodes, so as to reduce the overall transmission delay. This is mainly for the case where end users use HLS for playback.
2. If the end user uses RTMP to play, try to transcode at the receiving node close to the push end, so that the transmitted video stream is smaller than the original video stream.
3. If necessary, you can use a customized UDP protocol to replace the TCP protocol, eliminating the need for retransmission under weak network links to reduce delay. Its main disadvantage is that the transmission and distribution of the video stream of the customized protocol based on the UDP protocol is not universal enough, and the CDN manufacturer supports the standard transmission protocol. Another shortcoming is that there may be blurring or blurring caused by packet loss (lack of key frame decoding reference), which requires the protocol customization party to perform packet loss control on the basis of UDP.
Transmission network optimization
1. We have introduced the real-time streaming network. It is a new type of node self-organized mesh transmission network, which is suitable for transmission optimization under domestic multi-operator network conditions, and is also suitable for many overseas live broadcast needs.
2. Cache the current GOP in the server node, and cooperate with the player to optimize the video opening time.
3. The server records the second-level frame rate and bit rate of each video stream flowing to each link in real time, and monitors the fluctuation of the bit rate and frame rate in real time.
4. The client (streaming and playing) obtains the current optimal node in quasi-real time by querying the server (every 5 seconds), and offline the current faulty node and line in quasi-real time.
Streaming, playback optimization
1. Check the size of the network buffer that comes with the sending system. The system may buffer the data before sending it. The tuning of this parameter also needs to find a balance.
2. Cache control on the playback side also has a greater impact on the first opening delay of the video. If only the first opening delay is optimized, it can be decoded immediately when the data arrives in the case of 0 cache. However, in a weak network environment, in order to eliminate the impact of network jitter, it is also necessary to set up a certain cache. Therefore, it is necessary to find a balance between the stability of the live broadcast and the optimization of the first opening delay, and adjust the value of the optimized buffer size.
3. The dynamic buffer strategy of the player, which is an improved version of the above player's cache control. If you just choose between 0 cache and fixed-size cache to find a balance, you will eventually choose a fixed-size cache. This is unfair to hundreds of millions of mobile Internet terminal users. Their different network conditions determine this. A fixed-size cache is not entirely suitable. Therefore, we can consider a "dynamic buffer strategy" that uses a very small or even zero cache strategy when the player is turned on, and determines the cache size of the next time slice by the time it takes to download the first video, while playing During the process, the current network is monitored in real time, and the size of the buffer during playback is adjusted in real time. In this way, extremely low first opening time can be achieved, and the influence caused by network jitter can be eliminated as much as possible.
4. Dynamic bit rate playback strategy. In addition to the strategy of dynamically adjusting the buffer size, real-time monitoring of the network information can also be used to dynamically adjust the bit rate during the playback process, reducing the bit rate for playback when the network bandwidth is insufficient, and reducing delay.
The above are some of our skills in low-latency optimization. In fact, when we optimize low latency, we do not only focus on "low latency", but try to achieve low latency while ensuring that other conditions do not affect the user experience. Therefore, its content involves more and more topics. The optimization of live video also includes all aspects, and only the parts that have been practiced by us are shared here. With the accumulation of practice, we will share more optimization techniques for live video and even on-demand online and offline.
|
Enter email to get a surprise
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
FMUSER Wirless Transmit Video And Audio More Easier !
Contact
Address:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Categories
Newsletter