Testing the board for 4K Android TV boxes based on the Realtek RTD1395 chip





We recently received a package from our partner in Taiwan - Realtek. Inside there was a Hercules OTT board - 32-bit, with 2 GB of memory and pre-installed Android 9. Let's see what it can do and how it can be used to develop new TV-boxes.



Hercules OTT board is an Android IPTV box that plays videos of any format with a maximum resolution of 4K. Support for streaming services Youtube, Netflix, etc. through dash and hls. Any other Android apps such as audio-video calling and conferencing apps will work as well. However, there will be problems with games due to the inconvenience of control (you will have to connect a gamepad).



Realtek introduced boards based on the RTD1395 chip back in 2018, they were used in their subscriber devices by IP and cable TV operators, as well as programmers who develop software for set-top boxes. RTD1395 chip with four ARM Cortex-A53 cores and a graph. the Mali-470 processor then became a cheaper alternative for other models - RTD1295 and RTD1296, but at the same time supported the same capabilities for working with 4K video. Now Amlogic, Mediatek and other chip vendors have similar solutions, but we will talk about them another time.



Now let's focus on our premise.



Testing the hardware on the board



Since the Hercules OTT board is a debug board, we only checked the physical capabilities of the chip.



So, the characteristics of the RTD1395ES:

  • 4-core ARM Cortex-A53
  • ARM Mali-470 MP4 GPU
  • Decoder H.265 4K 60 fps, VP9 4K 60 fps, H.264 4K 30 fps
  • H.264 encoder 1080P 60 fps
  • HDR10, HLG, TCH Prime, Dolby Vision, HDR10 +
  • USB2.0 host / device
  • HDMI Tx v2.0b + CEC
  • 10/100 MAC and PHY + Gigabit Ethernet MAC
  • PCIe 2.0
  • SGMII
  • SDIO 3.0 and SD 3.0
  • I2S input / output
  • S / PDIF output








Board test results:

  • 2 x USB 2.0 - both work
  • 1 x Ethernet 100 Mbps port - works
  • 1 x HDMI - works
  • 1 x S / PDIF - works
  • 1 x 3.5mm audio jack - works
  • 1 x SD Card Slot - Works
  • 1 x IrDA - since we did not have a "native" remote control, and the Amlogic remote control did not fit, we could not test
  • 1 x USB Type-C - as power only
  • 1 x WIFI / Bluetooth module: wifi - works, bluetooth has not been tested




The board is powered via a 5 Volt Type-C cable since a separate power connector is not wired.



To navigate in Android, we tried to use the Opal remote control with a usb whistle, which previously worked with all IPTV boxes, but it refused to work on this and was not even detected in lsusb. Because of this, I had to use a keyboard / mouse, which is not very convenient due to the lack of Back and Menu buttons.



The processor itself heats up decently during operation, so we stuck a radiator in the form of a brake pad (see the photo above).



Testing video playback



1. Run 56 test videos



We check the decoding capabilities using test videos from the site http://jell.yfish.us/



Open a list of 56 video files to check:
jellyfish-3-mbps-hd-h264.mkv

jellyfish-3-mbps-hd-hevc-10bit.mkv

jellyfish-3-mbps-hd-hevc.mkv

jellyfish-5-mbps-hd-h264.mkv

jellyfish-5-mbps-hd-hevc.mkv

jellyfish-10-mbps-hd-h264.mkv

jellyfish-10-mbps-hd-hevc-10bit.mkv

jellyfish-10-mbps-hd-hevc.mkv

jellyfish-15-mbps-hd-h264.mkv

jellyfish-15-mbps-hd-hevc.mkv

jellyfish-20-mbps-hd-h264.mkv

jellyfish-20-mbps-hd-hevc-10bit.mkv

jellyfish-20-mbps-hd-hevc.mkv

jellyfish-25-mbps-hd-h264.mkv

jellyfish-25-mbps-hd-hevc.mkv

jellyfish-30-mbps-hd-h264.mkv

jellyfish-30-mbps-hd-hevc.mkv

jellyfish-35-mbps-hd-h264.mkv

jellyfish-35-mbps-hd-hevc.mkv

jellyfish-40-mbps-hd-h264.mkv

jellyfish-40-mbps-hd-hevc-10bit.mkv

jellyfish-40-mbps-hd-hevc.mkv

jellyfish-45-mbps-hd-h264.mkv

jellyfish-45-mbps-hd-hevc.mkv

jellyfish-50-mbps-hd-h264.mkv

jellyfish-50-mbps-hd-hevc.mkv

jellyfish-55-mbps-hd-h264.mkv

jellyfish-55-mbps-hd-hevc.mkv

jellyfish-60-mbps-hd-h264.mkv

jellyfish-60-mbps-hd-hevc-10bit.mkv

jellyfish-60-mbps-hd-hevc.mkv

jellyfish-70-mbps-hd-h264.mkv

jellyfish-70-mbps-hd-hevc.mkv

jellyfish-80-mbps-hd-h264.mkv

jellyfish-80-mbps-hd-hevc.mkv

jellyfish-90-mbps-hd-h264.mkv

jellyfish-90-mbps-hd-hevc-10bit.mkv

jellyfish-90-mbps-hd-hevc.mkv

jellyfish-100-mbps-hd-h264.mkv

jellyfish-100-mbps-hd-hevc.mkv

jellyfish-110-mbps-hd-h264.mkv

jellyfish-110-mbps-hd-hevc.mkv

jellyfish-120-mbps-4k-uhd-h264.mkv

jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-140-mbps-4k-uhd-h264.mkv

jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-160-mbps-4k-uhd-h264.mkv

jellyfish-160-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-180-mbps-4k-uhd-h264.mkv

jellyfish-180-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-200-mbps-4k-uhd-h264.mkv

jellyfish-200-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-250-mbps-4k-uhd-h264.mkv

jellyfish-250-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-300-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv





Of all the videos tested, only 3 files did not start due to a crash in realtek.rvsd@1.0-service:

jellyfish-250-mbps-4k-uhd-hevc-10bit.mkv

jellyfish-300-mbps-4k-uhd-hevc-10bit .mkv

jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv



Playback error log:

DEBUG (4077 4077)  F	pid: 1815, tid: 4069, name: rvsd@1.0-servic  >>> /vendor/bin/hw/vendor.realtek.rvsd@1.0-service <<<           	 
DEBUG (4077 4077)  F	signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------                                                   	 
DEBUG (4077 4077)  F	Abort message: 'FORTIFY: pthread_mutex_destroy called on a destroyed mutex (0xa7b1b06c)'




53 videos that were successfully opened during testing showed no freezes or dropped frames. Perhaps the chip is capable of coping with more complex bitrate videos, but we will not find out.



Screenshots of the video player from Realtek could not be obtained. Probably, the fact is that the player is not implemented using Android tools, but has direct access to the framebuffer to protect content from piracy. In VLC and ExoPlayer, screenshots are taken without problems.



When testing the same videos in VLC, h264 files play up to 180 Mbit / s, and then no longer has time to prepare frames. HEVC stops playing at 120 Mbps (judging by the crash logs, due to lack of memory).



2. Run the Geekbench3 test



In the Geekbench3 test, the system scored 523/1656 points SingleCore / MultiCore, which is approximately equal to the performance of the Amlogic S905 chip (500/1400) and even slightly ahead in multicore. But at the same time it lags far behind Amlogic S905X2 (700/2200).







3. Checking different fps



We tested videos with different frame rates (fps): 23.976, 24, 25, 50, 59.94, 60. There were no problems with that.



The progressive and interlaced video variants also play back successfully.



4. Launching HLS and Mpeg-Dash streams



We also tested the playback of HLS and Mpeg-Dash streams using several methods, namely:



Method # 1. Play streams through the HD VideoBox movie aggregator, in which, when you start the video, you can select the player, in our case - VideoPlayer.









Method number 2. Playback of HLS and Mpeg-Dash streams via youtube application. We took 4K 60 fps videos for testing. We did not notice any frame drops or slowdowns. All youtube screenshots show a black screen instead of a picture, probably due to content protection.







Screenshots are taken correctly on SmartYoutube.



Method number 3. It was not possible to feed mpd and m3u8 files directly to the player through the file manager or browser, but in some cases the browser is able to play video.



Method number 4. Play DASH and HSL streams via Exoplayer Demo. All videos, links to which were alive, played successfully. The only thing that did not play was the protected Widevine videos, which were accompanied by the inscription "This device does not support the required DRM scheme" ...



5. Built-in video tests from Realtek



The Hercules OTT board also has its own pre-installed application for testing the playback of several videos at once. During testing, it turned out that in the mode when the screen is divided by 2 or in the picture-in-picture mode, video only with a bitrate of up to 4-5 Mbit / s is more or less tolerable, and preferably MPEG4:







Video with a low bitrate of 360 kbps s, but 60 fps did not even master 2 videos at the same time.



Video with a low bitrate of 670 kbps and 15 fps and a resolution of 320x240 pixels mastered 8 videos at the same time, at 9 or more, some might not start and frames in the video were lost.







Also, on the Realtek board, the Encoder program is preinstalled, which allows you to transcode up to 4 videos simultaneously from mp4 to AVC-ts files.











We checked that it can transcode:

1 video 1080p60fps (transcoding speed about 54 fps)

2 parallel videos 1080p30fps (transcoding speed about 23 fps)



6. Launch the OpenCamera application



For the last check, run the OpenCamera application and connect the Logitech C920 usb webcam to test video encoding. We found out that the board can record video up to 1080p27fps in AVC format. Failed to record video in HEVC format.



conclusions



Tests have shown that, in general, the RTD1395 chip meets the declared indicators. The Hercules OTT board can be used to develop and debug devices such as Android TVs, Miracast and Intel Wireless displays, set-top boxes and OTT streaming players. It can also be used to develop AOSP-based firmware for IPTV operators.



And for a complete objective assessment of this solution, you can still study competitors with similar characteristics, such as the Amlogic s905x and the newer S905X2.



All Articles