This is a guest post by Promwad, a software and hardware product development company with DTV & STB development expertise and know-how. Recently, they received a package from Realtek, their partner in Taiwan. There was a Realtek RTD1395 development board inside – Hercules 32-bit OTT – with 2 GB RAM and pre-installed Android 9 OS. Promwad team tested what it’s capable of and how it can be used by hardware and software engineers who design new TV set-top boxes and develop embedded software.
Hercules OTT board is an Android IPTV box that plays videos of any formats with a maximum resolution of 4K. Streaming services such as Youtube, Netflix, etc. are supported via Dash and HLS. Also, the board supports other Android apps, including audio/video calls and conferencing.
Realtek introduced RTD1395-based boards back in 2018. IP and cable TV operators used them in their subscriber devices. The RTD1395 chip with four ARM Cortex-A53 cores and the Mali-470 graphical processor was then a cheaper alternative for two other models — RTD1295 and RTD1296 — but supported the same 4K video resolution. Now Amlogic, Mediatek, and other chip vendors have similar solutions, but we will talk about them another time.
Now, let’s focus on our package.
Hercules OTT hardware
Since this is a dev board, we only tested the physical characteristics of the chip.
Here are the main features of RTD1395ES:
- ARM Cortex-A53 quad-core CPU
- ARM Mali-470 MP4 GPU
- H.265 4K 60fps, VP9 4K 60fps, H.264 4K 30fps decoder
- H.264 1080P 60fps encoder
- HDR10, HLG, TCH Prime, Dolby Vision, HDR10+
- USB2.0 Host/Device
- HDMI Tx v2.0b with 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
Our test results:
- 2x USB 2.0 — works (both)
- 1x Ethernet 100 Mbit port — works
- 1x HDMI — works
- 1x S/PDIF — works
- 1x 3.5 mm audio jack — works
- 1x SD card slot — works
- 1x IR port — we couldn’t test it since we didn’t have an original remote control, and the Amlogic one didn’t work.
- 1x USB Type-C — works as power delivery only
- 1x WIFI/Bluetooth module: WIFI works, Bluetooth hasn’t been tested
The board is powered via a 5V Type-C cable since a standalone power connector is not soldered.
For navigation within Android, we tried to use the Opal remote with a USB module, which previously worked with all our IPTV boxes, but this time it refused and was not even defined in lsusb. So we had to use a keyboard/mouse, which was not very convenient because there were no Back and Menu buttons.
The processor itself warms up, so we stuck a heatsink in the form of a brake pad.
Testing video playback on Hercules OTT board
Launching 56 test videos
We have checked the decoding capabilities using test videos from http://jell.yfish.us/.
Out of the 56 H.264/H.265 Jellyfish videos, only 3 crashed at 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
Player crash log:
1 2 3 4 5 |
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)' |
There was no freezing or skipped frames in the other 53 videos. The chip may playback videos with even a higher bitrate, but we won’t know it.
We could not make screenshots of the video player by Realtek. Probably the reason was that the player was not implemented by Android tools, and had access directly to the framebuffer to protect content from piracy. In VLC and ExoPlayer, we made screenshots without any problems.
When testing the same videos in VLC, we launched H.264 files up to 180 Mbit/s. Videos with higher bitrate did not work correctly due to lack of time for frame preparation. HEVC stopped playing at 120 Mbit/s (judging by crash logs, due to lack of memory).
Running the Geekbench3 test
In the Geekbench3 test, the system scored 523/1656 points as SingleCore/MultiCore, which was roughly equal to the Amlogic S905 chip (500/1400), and even slightly ahead in the multicore mode. But it lagged far behind the Amlogic S905X2 (700/2200).
Checking various fps
We tested videos with different frame rates (fps): 23.976, 24, 25, 50, 59.94, 60. There were no problems with them. Also, we successfully launched progressive and interlaced videos.
Running HLS and Mpeg-Dash streams
We tested HLS and Mpeg-Dash playback in several ways:
- Video streaming via HD VideoBox movie aggregator, where we could select a specific player, in our case — VideoPlayer.
- Playback of HLS and Mpeg-Dash-video streams via the YouTube app. For testing, we used 4K 60 fps videos. No freezing or skipped frames were noticed. All screenshots from youtube had a black screen, probably because of content protection.
In SmartYoutube, we could make correct screenshots. - It was not possible to send mpd and m3u8 files directly to the player via our file manager or browser, but in some cases, the browser could play our video.
- Playing DASH and HSL streams with Exoplayer Demo. All the videos available via live links were played back successfully. The only thing that wasn’t played was Widevine protected videos, which were accompanied by the inscription “This device does not support the required DRM scheme”…
Built-in video tests by Realtek
Hercules OTT also has its pre-installed application to test the simultaneous playback of multiple videos. During the testing we found out that the “2 screens in one” and the picture-in-picture modes had relatively decent support for videos with a bitrate up to 4-5 Mbit/s only and preferably MPEG4:
Videos with low a bitrate of 360 kbit/s, but 60 fps could not be played back simultaneously, even just two videos.
We could also launch eight simultaneous videos with a low bitrate of 670 kbit/s, 15 fps, and a resolution of 320×240 pixels. When we tried to launch nine or more screens, some files failed to start or had missing frames.
The Realtek board also had a pre-installed Encoder demo that allows transcoding up to 4 videos simultaneously from mp4 to AVC-ts.
We checked what this software is capable of:
- 1x video @ 1080p60 with transcoding speed of about 54 fps
- 2x parallel video @ 1080p30 with transcoding speed of about 23 fps
Running the OpenCamera application
For the last test case, we launched the OpenCamera application and connected the Logitech C920 USB webcam to test video encoding. We found out that the board could record videos up to 1080p27fps in the AVC format. It was not possible to record video in the HEVC format.
Conclusions
Our tests have shown that the RTD1395 chip is generally consistent with the declared features. The Hercules OTT board can be used to develop and debug Android TV devices, 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.
For more objective evaluation, you should also check out competing solutions with similar features, such as the Amlogic S905X chip or the more recent S905X2.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
What about Linux support? I presume there is none?
Realtek says on its website that there is a RDK build for this board that is actually Linux. There is also a board Banana Pi BPI-M4 based on the same RTD1395 chip, it has both, Linux and Android
The mainline kernel has had updates to RTD1395 support as late as June 2020. See https://lwn.net/ml/linux-kernel/20200623025106.31273-1-afaerber@suse.de. Also see status of upstreaming at https://en.opensuse.org/HCL:Realtek_DHC
Looking into Andreas’ rtd1295-next branch is even more interesting since it reveals that one single Realtek employee has also contributed some minor stuff recently.
So if everything goes well those SoCs will be fully supported in mainline Linux in 5 years or so.
Perhaps it has low power consumption, but ARM Cortex-A53 is outdated weak.
Well, there isnt a really good alternative. There is the Cortex A55 but its not a lot better, not enough to they wanting to change.
Maybe in the future ARM will provide a alternative that provides a good evolution compared to the A53 and A55
They have RTD1619 with six Cortex-A55 cores.
The A55 is quicker in the s905X3 compared to A53 s905X2
The SBC provider let themself down by not providing a heatsink.