1.Why do this evaluation
The recent trade war between China and the United States shows no sign of abating. American politicians put huawei on the “entity list”, and news about huawei has been flying all the time.One day in a chat group, listening to the experts in the high-minded, one of the information exploded my eye: huawei is a conscientious enterprise, said he is 80 points, is actually 100~120 points, unlike most enterprises, said he is 100 points, in fact only 70~80 points.Take Hi3531D for example(Codec core chip of ENC5). Datasheet says it can do 8-way 1080p@30 H264/H265 encoding, but the actual test can do 12-way 1080p@30 H264/H265 encoding.When I heard the news, I thought he was too novel. Not only most domestic enterprises, but also foreign enterprises usually boast about their own capabilities and exaggerate their performance indicators in propaganda.Many years ago, TI Da Vinci DM6467 scheme, we use manual boast can do 4 road D1 H264 encoding, the result when we actually do, with original factory evaluation library, can barely do three road D1, bought after India guy carefully optimized charge code library, can barely do 4 D1, but often less than 25 FPS frame rate, especially when input signal source image change is bigger, the frame rate is less than 25 FPS.So now I heard that there is such a conscientious enterprise, I decided to actually test it to see if the group of experts are deceptive or true, if it is true, China has such an enterprise huawei is really lucky!
Search on shopping platform for 3531d development board or haisi development board, out a lot of products, it seems that huawei chip enterprises are really many ah!After comparing several companies, I decided to purchase the products of this company, because their own software can easily evaluate various stunts of Hi3531D. The purchase link is as follows http://www.h265encoders.com/product/sdi-enconder or http://www.h265encoders.com/product/enc5-h265-codec
Many manufacturers do not provide development materials.However, they will provide development materials, including SDK and Encoder source code, etc.
If you are a software developer, don’t hesitate to look at their SDK and the source code for Encoder based on it. The software we use in this article is their Encoder software.With this Encoder source code, if you want to customize an hdmi coder, you don’t need to do any more development. Maybe their idea is closed-source hardware and open source software.
2.ENC5 Hardware encoder coding performance
2.1 12-channel 1080p@30fps code capacity
Due to buy the product only five HDMI input port, in order to do 12 channels coding test, We decode it with another 7 network streams and then encode it (transcoding). This allows you to test 12 channels of simultaneous coding (We also test the decoding of 7-channel network stream. According to the data manual, we can do 8-channel simultaneous decoding, but actually we can also do 12-channel 1080p@30 decoding).
As can be seen from the figure above, the first 5 channels are HDMI input, and the input signal is 1080p@60, which can be output by 1080p@60 when encoding. But to test the rumored simultaneous 12-channel 1080p@30 H264/H265 encoding capability, we set the output to 1080p@30. The latter 7 channels are network stream (1080p@30) transcoding:
After configuration, please fasten your seat belt, and you will soon launch a rocket in the air. It is not a direct flight to the sky, or a fall to the earth. Anyway, it is very exciting. See figure (cat /proc/umap/venc)：
Count the red boxes. How many are there?12?Yes, it’s **12!!!**, and the frame rate is between 29 and 31!Seeing this. Are you shocked? Whether you like it or not, I do. Check out some more black tech below.
2.2 2-channel 4K@30(3840×2160) encoding + 4-channel 1080p@30 encoding
There are only 5 HDMI input ports for the products purchased, and each port can support 4K@30 input. However, due to limited encoding capacity, we cannot do all 5-channel 4K encoding, so the actual test can only achieve 2-channel 4K@30 encoding + 4-channel 1080p@30.
3.Powerful image processing (VPSS) capability
VPSS (Video Process sub-system) supports unified preprocessing of an input image, Such as de-noising, de-interlaced, etc., and then scaling, sharpening and other processing for each channel respectively, finally output a variety of images with different resolutions. The VPSS for hayes Hi3531D provides the following features:
The following functions (screen fusion, rolling captions, coding, marking, interlining, etc.) are provided by the board card manufacturer’s software, which proves the power of hayes VPSS.
3.1 Image fusion
Screen fusion can splice the pictures from multiple video sources into another screen output according to the established layout. The spliced pictures can be previewed on the running state interface, connected to the TV through the HDMI output interface of the board card, and enabled network stream output on the coding output interface.At present, the preset mixed layout types of board card software include: 9 grids, 4 split screens, 1+2, painting in painting. Audio can also be mixed when the screen is fused, on the right side of the screen you can choose which channels to mix the sounds. Mixed audio and video output from the network through coding compression, but also can be directly mixed audio and video output from HDMI port, convenient for users to monitor.Digression: this interface also allows configuration of VGA output, which can be output directly from other input sources (bypass function).The SDK provided by board card manufacturers is very convenient to define the output contents of HMDI and VGA. The SDK provided by board card manufacturers can output the same contents of HDMI and VGA, as well as different contents.
As can be seen in the figure above, 9 1080p@60 images are merged into one image, which is a huge amount of data. Even Intel’s I7 CPU is too busy to handle all the data.Use cat /proc/umap/ VPSS to see the amount of data processed by VPSS:
Powerful screen fusion ability, in the following application can show off it’s skills:
1) In the industry of educational recording and broadcasting, the classic screen layout is 2+1, with a large box on the left to display the teacher’s PPT courseware, and two small boxes on the right to display the picture of students. The most important information can be automatically or manually switched to the large box on the left according to the needs of the class.Automatic switching should not be difficult, with some OPENCV algorithm can be easily done.Such applications can also be used in court proceedings, rehab and prison education systems.
2) The big screen command center, command centers typically have access to many points of surveillance video. Most surveillance cameras on the market today are webcams, Most of the early years were chip solutions of TI. ecently, huawei hayes solutions are almost uniform, Therefore, the powerful decoding ability of Hi3531D is utilized to make the large-screen display scheme, should be good. And huawei solutions their own chips out of the video stream, it should be said that the best match.
3) Switch station, broadcast station.There are five HDMI input port, the interface card each HDMI port maximum support 4 k @ 30 (3840 x2160) signal, and can also support 12 channels network flow input (or 12 local file), from the perspective of hardware, satisfy the switcher and a director of a variety of input source requirements, coupled with its powerful ability of VPSS works dealing with this kind of product is handy.
3.2 Scrolling subtitles, coding (with Mosaic), adding station LOGO
These functions are very common and can be used for monitoring products. It is said that big companies that monitor products, such as haikang and dahua, are also using the chips of huawei hayes, so these functions are not considered as black technology.Let me show you the last picture:
3.3 Full frame rate deinterlacing, clipping
There is a switch on the board card manufacturer’s software called full frame rate deinterlacing, I didn’t quite understand what it meant, so I contacted the board card manufacturer, who explained that their software had two ways of deinterlacing, one was the algorithm of deinterlacing brought by hayes, and the other was the algorithm of deinterlacing made by the board card manufacturer. If we use the deinterlacing algorithm of hayes, the frame rate will be halved. For example, if the input signal source is 1080i@60, the frame rate will be reduced to 30fps or 1080p@30 after deinterlacing. If the board card manufacturer’s full frame rate deinterlacing algorithm is used, the frame rate remains unchanged. For example, the input signal source is 1080i@60, and it is 1080p@60 after deinterlacing. At first, I thought the manufacturer was deliberately mystifying, make a copy of the data that has been deinterlaced by hayes. So the frame rate stays the same, then I turned on their magic full frame rate deinterlacing switch, recorded a big movement change video(such as games or racing football), after recording, use playback software to play frame by frame. Each frame is different, this is enough to prove that the manufacturer is not mystifying, but is genuine. So hayes VPSS architecture is open enough for developers to write their own algorithms.The suspicion that these algorithms are running on cpus is misplaced. Five input sources can do full frame rate to deinterlace at the same time. I don’t believe that a weak ARM CPU like hayes can do this.
Due to the late start at home, 1080i HDMI devices are rare, but abroad, a large number of 1080i HDMI devices are still in use, so it is really necessary to deinterlace.Especially the games live, football live, racing live, etc., these images change is very big, therefore, the effect of shutters caused by deinterlace is particularly obvious.if using the algorithm of hayes built-in to deinterlaced, frame rate by half, although the shutter effect disappeared, but the picture fluency is poor, Therefore, the board card manufacturers do the full frame rate deinterlacing is really timely for foreign live industry.
The board card manufacturer’s software also supports screen cutting (trimming).Engineering contractor during construction often see some signal always has a variety of phenomena, the edge of some of the top of the signal has a line of white stripes, such as DVD signal, some signals of left and right sides of a flashing green red and white stripes, which although not fatal, but are often refused to approve the acceptance, so let the engineers suffer. With this function, it is very easy to cut the edges.
4.Simultaneously outputs many kinds of network flow protocols
Hayes’ SDK does not provide the network streaming protocol, nor does it encapsulate video and audio, just a few samples based on raw stream. All kinds of structures in the sample, don’t know how to fill in, it drives video and audio developers crazy. The SDK provided by the board manufacturer provides various streaming protocols: HTTP, HLS, RTSP, UDP, RTMP pull flow and RTMP push flow. And it can open these flow protocols simultaneously, it can be seen that the built-in ARM CPU of the Hi3531D is not to be underestimated. RTSP, UDP, and RTMP all have latency of less than 1 second (the fastest can be less than 200ms). With the board card manufacturers SDK, want to buy h264 code development board, h265 code development board, hayes development board, Hi3531d development board, Hdmi development board of newbie, What are you hesitating about?
This board card supports rich network flow protocols, and supports many encoding and decoding ways (the number of encoding is 12 channels 1080p@30 H264/H265 encoding, and the number of decoding is 12 channels 1080p@30 H264/H265 decoding).The following can be applied:
1) Transcoding applications, There is no mature hardware solution for H265 in previous years, so most coding devices on the market are mainly H264. To achieve the same coding quality, H265 USES 25% less bandwidth than H264, which is very attractive in China where bandwidth costs are high. Therefore, you can input H264 network stream, and then transcode output H265 network stream or H265 file, this is the application of transcoding.
2) Transferring agreement, The board card supports not decoding the transfer protocol, such as HTTP to RTMP, HTTP to RTSP, HTTP to udp, RTSP to HTTP, RTSP to RTMP, RTSP to udp, RTSP to HTTP, RTMP to RTSP, RTMP to udp, and so on. Since it does not need decoding, it does not account for the encoding and decoding resources of Hi3531d, but only a small amount of the resources of ARM CPU (used for data transfer), so it can support many ways of undecoding switching protocol.
5. Soft spot: audio coding and decoding
Hi3531d has powerful video encoding and decoding capabilities, so it should be a piece of cake for audio encoding and decoding, right? Wrong! Wrong!!!!! Wrong!!!
Perhaps because of the LICENSE, the audio encoding and decoding are not handled by hardware, but by ARM CPU. That tiny embedded ARM CPU handles audio resampling、echo cancellation、AAC coding and decoding, need to do a lot of optimization, otherwise ARM CPU usage will explode. Maybe it’s not a big deal for people in the monitoring industry. After all, the audio in the monitoring industry is usually mono, 8K sampling rate, 16bit sampling accuracy, low data volume, and not obvious CPU usage. But for people who do IPTV encoders, to weigh their own ability, double channel, sampling rate of 48K, sampling accuracy of 24bit, this data volume is much larger than the monitoring industry, and IPTV encoders audio quality requirements are relatively high, make the product is not out of the goods. We reviewed the audio from the manufacturer of the board card, and it was good. And they offer audio software enhancements(volume amplification), common encoder products do not have this feature. But this function is very practical, some input source sound is too small, and it is impossible to require the user to adjust in the terminal device.
6.Conclusion: huawei is a conscientious enterprise
After the evaluation, it is confirmed that what the experts said in the chat group is true. ENC5（Hi3531d）hardware encoder has the super video audio codec ability to be verified.