Testen des Boards auf 4K-Android-TV-Boxen basierend auf dem Realtek RTD1395-Chip





Wir haben kürzlich ein Paket von unserem Partner in Taiwan - Realtek - erhalten. Darin befand sich eine Hercules OTT-Karte - 32-Bit, mit 2 GB Speicher und vorinstalliertem Android 9. Mal sehen, was sie kann und wie sie zur Entwicklung neuer TV-Boxen verwendet werden kann.



Das Hercules OTT Board ist eine Android IPTV-Box, die Videos in jedem Format mit einer maximalen Auflösung von 4K wiedergibt. Unterstützung für Streaming-Dienste Youtube, Netflix und andere über Dash und Hls. Alle anderen Android-Apps wie Audio-Video-Anrufe und Konferenz-Apps funktionieren ebenfalls. Es wird jedoch Probleme mit Spielen geben, da die Steuerung unpraktisch ist (Sie müssen ein Gamepad anschließen).



Realtek führte bereits 2018 Boards auf Basis des RTD1395-Chips ein. Sie wurden in ihren Abonnentengeräten von IP- und Kabelfernsehbetreibern sowie von Programmierern verwendet, die Software für Set-Top-Boxen entwickeln. RTD1395-Chip mit vier ARM Cortex-A53-Kernen und einem Diagramm. Der Mali-470-Prozessor wurde dann zu einer günstigeren Alternative für andere Modelle - RTD1295 und RTD1296 -, unterstützte jedoch gleichzeitig die gleichen Funktionen für die Arbeit mit 4K-Video. Jetzt haben Amlogic, Mediatek und andere Chiphersteller ähnliche Lösungen, aber wir werden ein anderes Mal darüber sprechen.



Konzentrieren wir uns nun auf unsere Prämisse.



Testen der Hardware auf der Platine



Da es sich bei der Hercules OTT-Karte um eine Debug-Karte handelt, haben wir nur die physischen Fähigkeiten des Chips überprüft.



Also, die Eigenschaften des RTD1395ES:

  • 4-Kern 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 / Gerät
  • HDMI Tx v2.0b + CEC
  • 10/100 MAC und PHY + Gigabit Ethernet MAC
  • PCIe 2.0
  • SGMII
  • SDIO 3.0 und SD 3.0
  • I2S Ein- / Ausgang
  • S / PDIF-Ausgang








Board-Testergebnisse:

  • 2 x USB 2.0 - beide funktionieren
  • 1 x Ethernet 100 Mbit / s-Port - funktioniert
  • 1 x HDMI - funktioniert
  • 1 x S / PDIF - funktioniert
  • 1 x 3,5 mm Audiobuchse - funktioniert
  • 1 x SD-Kartensteckplatz - Funktioniert
  • 1 x IrDA - da wir keine "native" Fernbedienung hatten und die Amlogic-Fernbedienung nicht passte, konnten wir nicht testen
  • 1 x USB Typ C - nur als Stromversorgung
  • 1 x WIFI / Bluetooth-Modul: Wifi - funktioniert, Bluetooth wurde nicht getestet




Die Platine wird über ein 5-Volt-Kabel vom Typ C mit Strom versorgt, da kein separater Stromanschluss angeschlossen ist.



Um in Android zu navigieren, haben wir versucht, die Opal-Fernbedienung mit einer USB-Pfeife zu verwenden, die zuvor mit allen IPTV-Boxen funktioniert hat. Sie hat sich jedoch geweigert, daran zu arbeiten, und wurde in lsusb nicht einmal erkannt. Aus diesem Grund musste ich eine Tastatur / Maus verwenden, was aufgrund des Fehlens von Zurück- und Menütasten nicht sehr praktisch ist.



Der Prozessor selbst heizt sich während des Betriebs anständig auf, daher haben wir einen Kühler in Form eines Bremsbelags aufgeklebt (siehe Foto oben).



Testen der Videowiedergabe



1. Führen Sie 56 Testvideos aus



Überprüfen der Dekodierungsfunktionen mithilfe von Testvideos von der Website http://jell.yfish.us/



Öffnen Sie eine Liste mit 56 Videodateien, um Folgendes zu überprüfen:
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





Von allen getesteten Videos konnten nur 3 Dateien aufgrund eines Absturzes in realtek.rvsd@1.0-service nicht gestartet werden: quallen

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

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

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



Wiedergabefehlerprotokoll:

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, die während des Tests erfolgreich geöffnet wurden, zeigten keine Einfrierungen oder verworfenen Frames. Vielleicht kann der Chip noch komplexere Videobitraten verarbeiten, aber wir werden es nicht herausfinden.



Screenshots des Video-Players von Realtek konnten nicht abgerufen werden. Wahrscheinlich ist die Tatsache, dass der Player nicht mit Android-Tools implementiert ist, sondern direkten Zugriff auf den Framebuffer hat, um Inhalte vor Piraterie zu schützen. In VLC und ExoPlayer werden Screenshots ohne Probleme erstellt.



Wenn Sie dieselben Videos in VLC testen, werden h264-Dateien mit bis zu 180 Mbit / s abgespielt und haben dann keine Zeit mehr, Frames vorzubereiten. HEVC hört mit 120 Mbit / s auf zu spielen (gemessen an den Absturzprotokollen aufgrund von Speichermangel).



2. Führen Sie den Geekbench3-Test aus



Im Geekbench3-Test erzielte das System 523/1656 Punkte SingleCore / MultiCore, was ungefähr der Leistung des Amlogic S905-Chips (500/1400) entspricht und im Multicore sogar leicht voraus ist. Gleichzeitig bleibt es jedoch weit hinter Amlogic S905X2 (700/2200) zurück.







3. Überprüfen verschiedener fps



Wir haben Videos mit unterschiedlichen Bildraten (fps) getestet: 23.976, 24, 25, 50, 59.94, 60. Damit gab es keine Probleme.



Die progressiven und Interlaced-Videovarianten werden ebenfalls erfolgreich wiedergegeben.



4. Starten von HLS- und Mpeg-Dash-Streams



Wir haben auch die Wiedergabe von HLS- und Mpeg-Dash-Streams mit verschiedenen Methoden getestet, nämlich:



Methode 1. Streamen Sie die Wiedergabe über den HD VideoBox-Filmaggregator. In diesem Fall können Sie beim Starten des Videos einen Player auswählen, in unserem Fall VideoPlayer.









Methode Nummer 2. Wiedergabe von HLS- und Mpeg-Dash-Streams über die YouTube-Anwendung. Wir haben 4K 60 fps Videos zum Testen aufgenommen. Wir haben keine Tropfen in den Rahmen oder Einfrieren bemerkt. Alle Youtube-Screenshots zeigen einen schwarzen Bildschirm anstelle eines Bildes, wahrscheinlich aufgrund des Inhaltsschutzes.







Screenshots werden auf SmartYoutube korrekt aufgenommen.



Methode Nummer 3. Es war nicht möglich, mpd- und m3u8-Dateien über den Dateimanager oder den Browser direkt an den Player zu senden, aber in einigen Fällen kann der Browser Videos abspielen.



Methodennummer 4. Spielen Sie DASH- und HSL-Streams über die Exoplayer-Demo. Alle Videos, deren Links lebendig waren, wurden erfolgreich abgespielt. Das einzige, was nicht abgespielt wurde, waren die geschützten Widevine-Videos, die mit der Aufschrift "Dieses Gerät unterstützt das erforderliche DRM-Schema nicht" versehen waren ...



5. Integrierte Videotests von Realtek



Außerdem verfügt das Hercules OTT-Board über eine eigene vorinstallierte Anwendung zum Testen der Wiedergabe mehrerer Videos gleichzeitig. Während des Tests stellte sich heraus, dass im Modus, in dem der Bildschirm durch 2 geteilt wird, oder im Bild-in-Bild-Modus nur Videos mit einer Bitrate von bis zu 4-5 Mbit / s mehr oder weniger tolerierbar wiedergegeben werden, und vorzugsweise MPEG4:







Video mit einer niedrigen Bitrate von 360 kbps s, aber 60 fps haben nicht einmal 2 Videos gleichzeitig gemastert.



Videos mit einer niedrigen Bitrate von 670 kbps und 15 fps und einer Auflösung von 320 x 240 Pixel haben 8 Videos gleichzeitig gemastert, bei 9 oder mehr wurden einige möglicherweise nicht gestartet und Frames im Video gingen verloren.







Auf der Realtek-Karte ist außerdem das Encoder-Programm vorinstalliert, mit dem Sie bis zu 4 Videos gleichzeitig von mp4- in AVC-ts-Dateien umcodieren können.











Wir haben überprüft, ob es transkodieren kann:

1 Video 1080p60fps (Transcodierungsgeschwindigkeit ca. 54 fps)

2 parallele Videos 1080p30fps (Transcodierungsgeschwindigkeit ca. 23 fps)



6. Starten Sie die OpenCamera-Anwendung



Führen Sie für die letzte Überprüfung die OpenCamera-Anwendung aus und verbinden Sie die Logitech C920-USB-Webcam, um die Videokodierung zu testen. Wir haben herausgefunden, dass das Board Videos mit bis zu 1080p27fps im AVC-Format aufnehmen kann. Video im HEVC-Format konnte nicht aufgenommen werden.



Schlussfolgerungen



Tests haben gezeigt, dass der RTD1395-Chip im Allgemeinen die angegebenen Indikatoren erfüllt. Das Hercules OTT-Board kann zum Entwickeln und Debuggen von Geräten wie Android-TVs, Miracast- und Intel Wireless-Displays, Set-Top-Boxen und OTT-Streaming-Playern verwendet werden. Es kann auch verwendet werden, um eine AOSP-basierte Firmware für IPTV-Betreiber zu entwickeln.



Für eine vollständige objektive Bewertung dieser Lösung können Sie weiterhin Wettbewerber mit ähnlichen Eigenschaften wie den Amlogic s905x und den neueren S905X2 untersuchen.



All Articles