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
Background of the problem:
Whether it is to check some screens, freezes, and mosaic problems on the line, or to develop a bit rate adaptive function, or to optimize the JitterBuffer of the client player, the cooperation of the encoder transmitter is required. We need to make a trade-off in encoding speed, network bandwidth, and video quality, and then choose a code control adjustment scheme that is more suitable for the scene. At the same time, the currently popular ROI coding and adaptive learning of coding scenes are related to this part of the content. This article introduces the bit rate control schemes of common video encoders. Specific encoders may be different in implementation and use, and further analysis and understanding are required when calling APIs and reading source code.
background knowledge:
In the video encoding process, there is an important step: quantization, which is a lossy compression process. Quantization basically determines the bit rate of the video, and the bit rate of the video determines the quality of the video to a certain extent. The larger the quantization value QP, the higher the granularity of the quantization, the larger the compression rate, the smaller the bit rate, and the lower the video quality. It appears that the mosaic is larger, the picture is not delicate, and the picture is blurry. On the contrary, the compression rate is low, the bit rate is large, the quality is high, the picture is delicate, and the details are rich.
Therefore, it is very important to choose a video code control solution suitable for the scene. Adjusting the video output bit rate is actually a balance between video coding speed, network bandwidth and video quality. Sometimes the network bandwidth is very limited, it is necessary to give priority to the code control scheme that gives priority to the bit rate. Some have high requirements for video quality. If you want high-definition video, you must choose the quality-first model.
Overall, the choice of video coding rate control scheme can be obtained by weighing the following five factors:
1. The stability of visual quality is conducive to subjective visual quality, such as clarity, fluency, detail, etc. This is related to the visual principle of the human eye. Choose the model with the highest active quality perception of the human eye;
2. The real-time output bit rate is equivalent to the number of output bits per frame. The network bandwidth factor must be considered. With the development of the mobile Internet, the influence of wifi and wireless networks must also be considered;
3. The output video file size is controllable, which is conducive to transmission and storage, depending on the size of the system's space;
4. Coding speed. Different code control models also affect the coding speed. For low-latency and real-time scenarios, consideration should be given to different code control schemes, which have different computational complexity and the resulting coding delay will also have an impact;
5. For mobile devices, different encoding methods are required for power consumption requirements, because different models will affect the complexity of encoding and decoding, and the power consumption required for encoding and playback on mobile devices is different;
Bit rate introduction:
The following introduces different rate control models and applicable scenarios:
CQP: Fixed QP, the simplest rate control method. Each frame of image is encoded according to a specific QP. The amount of data encoded in each frame is unknown. It is neither a rate-first model nor a quality-first model. But it is the simplest model to implement;
Applicable scenarios: This method is generally not recommended, because this method does not consider the complexity of the encoded content and processes each frame with the same compression ratio. The video quality and bit rate are not fixed. Personally, I feel that there are only very simple scenes, such as static scenes where the amount of motion is small, and you can try it out. When you encounter complex scenes, the bit rate fluctuates greatly. Or it can be used in algorithm research or verification.
Features:
·The instantaneous bit rate will fluctuate with the complexity of the scene;
·The coding speed is fast, the regulation is the easiest, and the QP value of each frame is the same;
· CQP mode is supported in x264 and x265, but not in libvpx;
· The QP range in H.264 is [0, 51]. The larger the QP value, the larger the quantization step size and the lower the quality of the encoded video. QP of 0 means lossless encoding;
CRF: (Constant Rate Factor) constant rate factor. Take a certain "visual quality" as the output target. This goal is achieved by reducing the quality of frames that consume bit rate but are hard to detect with the naked eye (high-speed motion or rich texture) and improve the bit rate of those static frames.
Features: QP changes between frames, QP changes of macroblocks within a frame, the output bit rate is unknown, and the visual quality of each frame output is basically constant. This method is equivalent to the fixed quality mode + the method of limiting the peak bit rate.
Applicable scenarios: Suitable for occasions with certain requirements for video quality. The CRF value can be simply understood as a fixed output value expected for video quality. It is hoped that there will be a stable value regardless of whether it is in a complex motion scene or in a simple static situation. The subjective video quality can choose this mode, which is a video quality priority model. Video quality can be simply understood as the clarity of the video, the delicacy of pixels and the smoothness of the video.
Features:
·Similar to constant QP, but the pursuit of subjectively perceived quality is constant, the instantaneous bit rate will also fluctuate with the complexity of the scene, and the QP values between video frames or between internal macroblocks are different;
·For fast-moving or detailed scenes, the quantization distortion will be appropriately increased (because the human eye is not sensitive), while for static or flat areas, the quantization distortion will be reduced;
·CRF is the default rate control method for x264 and x265, and can also be used for libvpx;
·The larger the CRF value, the higher the video compression rate, but the lower the video quality. The CRF value range of each codec is generally [0-51], but the general default value is 23 for x264 and 28 for x265 library;
·If you are not sure what CRF to use, start with the default value and change it based on your subjective impression of the output. If the quality is not good enough, the CRF is lower. If the file is too large, choose a higher CRF. Changing ±6 will result in a change of about half/twice the size of the code rate, and ±1 will result in a change of about 10% of the code rate.
CBR: (Constant Bit Rate) constant bit rate, the bit rate remains basically constant within a certain time range, which belongs to the bit rate priority model.
Applicable scenarios: It is generally not recommended to use this method. Although the output bit rate is always at a stable value, the quality is unstable and the network bandwidth cannot be fully utilized because this model does not consider the complexity of the video content. The content of the video frame is treated uniformly. However, some encoding software only supports fixed quality or fixed bit rate, and sometimes have to be used. When using, set the bandwidth as large as possible within the allowable bandwidth range to prevent the video quality from being low in complex sports scenes. If the setting is unreasonable, it will be unclear in sports scenes.
Features:
·The bit rate is stable, but the quality is unstable, and the effective utilization of bandwidth is not high. Especially when the value is set unreasonably, the picture is very blurry in complex sports scenes, which greatly affects the viewing experience;
·But the output video bit rate is basically stable, which is convenient to calculate the video volume size;
VBR: (Variable Bit Rate) variable bit rate, simple scenes allocate relatively large QP, low compression rate and high quality. Complex scenes are assigned smaller QPs. Basically stable visual quality is obtained, because the human eye is inherently insensitive to complex scenes, and the disadvantage is that the output bit rate is uncontrollable.
There are two control modes: quality priority mode and 2PASS secondary encoding mode.
Quality priority mode:
Regardless of the size of the output video file, the bit rate is allocated according to the complexity of the video content, so that the video playback quality is the best.
Secondary encoding method 2PASS:
The first encoding detects the simple and complex parts of the video content, and at the same time determines the simple and complex ratio. The second pass of encoding will keep the average bit rate of the video unchanged, with more bits allocated for complex areas, and less bits allocated for simple areas. Although this kind of coding is very good, but the speed will not keep up.
Applicable scenarios: VBR is suitable for scenarios that are not too limited in bandwidth and encoding speed, but have high requirements for quality. Especially in complex sports scenes, it can maintain relatively high definition and stable output quality, which is suitable for on-demand, recording or storage systems that are not sensitive to delay.
Features:
·The code rate is unstable, and the quality is basically stable and very high;
·Encoding speed is generally slow, on-demand, download and storage systems can be used first, not suitable for low-latency, live broadcast systems;
·This model does not consider the output video bandwidth at all. For quality, it takes up as much bit rate as required, and does not consider the encoding speed;
ABR: (Average Bit Rate) Constant average target bit rate, low bits are allocated for simple scenes, and enough bits for complex scenes, so that a limited number of bits can be allocated reasonably in different scenes, which is similar to VBR. At the same time, the average bit rate is close to the set target bit rate within a certain period of time, so that the size of the output file can be controlled, which is similar to CBR. It can be considered a compromise between CBR and VBR, which is the choice of most people. Especially in the case of both quality and video bandwidth requirements, this mode can be selected first. Generally, the speed is twice to three times that of VBR, but the quality of video files of the same volume is much better than CBR.
Applicable scenarios: ABR is used more in live broadcast and low-latency systems. Because it is encoded only once, it is fast, while taking into account video quality and bandwidth. This mode can also be selected when the transcoding speed is required. Most of the videos at station B chose this mode.
Features:
·The overall video quality is controllable, and the video bit rate and speed are taken into account at the same time. It is a compromise solution, and it is actually used more;
·The use process generally requires the caller to set the minimum bit rate, maximum bit rate and average bit rate. These values should be set as reasonable as possible;
To
Several code rate control schemes are introduced above. Different encoders have different names and titles, and the details may be different. But basically it is achieved by affecting the size of QP, and then further affecting the granularity of the quantification process. For specific use, you need to further refer to the specific encoder implementation.
Generally, ABR is preferred, and a satisfactory balance can be achieved in terms of speed, bit rate, and quality. Other VBR, CBR, and CRF have their own scenarios, and they need to be used conditionally when they are used.
Concluding thoughts:
The video code control solution introduced today is the foundation of many upper-layer technologies. Among them, the bit rate adaptive technology, dynamically adjusting the coding parameters according to the scene, and RIO region of interest coding are all based on the selection and refinement of the coding control scheme in the coding process, which in turn affects the quantization degree and quantization granularity of the coding. In the end, a satisfactory balance is achieved between video quality, speed and bandwidth. At the same time, these models are mutually exclusive in different encoding libraries such as x264 or x265. Sometimes the code rate becomes invalid due to improper parameter settings, and the set parameters do not work. This also requires special attention.
Secondly, after getting familiar with this piece of content, it is also very useful to troubleshoot some online issues. Clearly adjust the side effects of adjusting the frame rate, resolution and other parameters. You are also welcome to leave a message in the background to share the relevant content of your actual project
|
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