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.
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
- 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.
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 [email protected]:
Player crash log:
DEBUG (4077 4077) F pid: 1815, tid: 4069, name: email@example.com >>> /firstname.lastname@example.org <<<
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).
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).
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.
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”…
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
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.
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.