Этот обзор от Promwad, компании по разработке программного и аппаратного обеспечения, обладающей опытом и ноу-хау в области разработки DTV и STB. Недавно они получили посылку от Realtek, своего партнера на Тайване. Внутри была отладочная плата Hercules 32-бит OTT на базе чипа Realtek RTD1395, с 2 ГБ оперативной памяти и предустановленной операционной системой Android 9. Команда Promwad проверила, на что она способна и как ее могут использовать инженеры по аппаратному и программному обеспечению, которые проектируют новые телевизионные приставки и разрабатывают встроенное программное обеспечение.
Плата Hercules OTT – это приставка Android IPTV, которая воспроизводит видео любых форматов с максимальным разрешением 4K. Стриминговые сервисы, такие как Youtube, Netflix и т. д, поддерживаются через Dash и HLS. Кроме того, плата поддерживает другие приложения для Android, включая аудио/видео звонки и конференц-связь.
Realtek представила платы на базе RTD1395 еще в 2018 году. Операторы IP и кабельного телевидения использовали их в своих абонентских устройствах. Чип RTD1395 с четырьмя ядрами ARM Cortex-A53 и графическим процессором Mali-470 был тогда более дешевой альтернативой для двух других моделей – RTD1295 и RTD1296, но поддерживал то же разрешение видео 4K. Сейчас похожие решения есть у Amlogic, Mediatek и других производителей чипов, но мы поговорим о них в другой раз.
Теперь давайте сосредоточимся на устройстве.
Оборудование Hercules OTT
Поскольку это плата для разработчиков, мы проверяли только физические характеристики чипа.
Вот основные особенности RTD1395ES:
- Четырехъядерный процессор ARM Cortex-A53
- Графический процессор ARM Mali-470 MP4
- H.265 4K 60 кадров в секунду, VP9 4K 60 кадров в секунду, декодер H.264 4K 30 кадров в секунду
- Кодировщик H.264 1080P 60 кадров в секунду
- HDR10, HLG, TCH Prime, Dolby Vision, HDR10 +
- USB2.0 Хост/устройство
- HDMI Tx v2.0b with CEC
- 10/100 MAC and PHY + Gigabit Ethernet MAC
- PCIe 2.0
- SGMII
- SDIO 3.0 и SD 3.0
- I2S вход / выход
- S / PDIF выход
Результаты нашего теста:
- 2x USB 2.0 — работают (оба)
- 1x порт Ethernet 100 Мбит — работает
- 1x HDMI — работает
- 1x S/PDIF — работает
- 1x 3.5 мм аудио-разъем — работает
- 1x слот SD карты — работает
- 1x порт IR — нам не удалось протестировать его, так как у нас не было оригинального пульта дистанционного управления, а пульт Amlogic не работал.
- 1x USB Type-C — работает только как источник питания
- 1x модуль WIFI / Bluetooth: WIFI работает, Bluetooth не тестировался
Плата питается через кабель 5 В Type-C, поскольку отдельный разъем питания не припаян.
Для навигации в Android мы попытались использовать пульт Opal с USB-модулем, который ранее работал со всеми нашими IPTV-боксами, но на этот раз он не отказался работать и даже не был определен в lsusb. Поэтому пришлось использовать клавиатуру / мышь, что было не очень удобно, потому что не было кнопок «Назад» и «Меню».
Сам процессор греется, поэтому нам пришлось использовать радиатор.
Воспроизведения видео на плате Hercules OTT
Запускаем 56 тестовых видеороликов
Мы проверили возможности декодирования с помощью тестовых видеороликов с http://jell.yfish.us/.
Из 56 видеороликов H.264 / H.265 Jellyfish только 3 потерпели неудачу в 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
Журнал сбоев:
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)' |
В остальных 53 видео не было остановок или пропущенных кадров. Чип может воспроизводить видео с даже более высоким битрейтом, но мы этого не узнаем.
Сделать скриншоты видеоплеера от Realtek не удалось. Вероятно, причина заключалась в том, что плеер не был определен инструментами Android и имел доступ непосредственно к фреймбуферу для защиты контента от пиратства. В VLC и ExoPlayer мы без проблем сделали скриншоты.
При тестировании тех же роликов в VLC мы запускали файлы H.264 со скоростью до 180 Мбит/с. Видео с более высоким битрейтом работали некорректно из-за нехватки времени на подготовку кадра. HEVC перестал проигрывать на 120 Мбит/с (судя по журналу сбоев, из-за нехватки памяти).
Запуск теста Geekbench3
В тесте Geekbench3 система набрала 523/1656 баллов как SingleCore / MultiCore, что примерно равно чипу Amlogic S905 (500/1400), и даже немного опережает в многоядерном режиме. Но он сильно отставал от Amlogic S905X2 (700/2200).
Проверка различных кадров в секунду
Мы тестировали видео с разной частотой кадров (fps): 23.976, 24, 25, 50, 59.94, 60. Проблем с ними не было. Также мы успешно запустили прогрессивные и чересстрочные видео.
Запуск потоков HLS и Mpeg-Dash
Мы тестировали воспроизведение HLS и Mpeg-Dash несколькими способами:
- Потоковое видео через агрегатор фильмов HD VideoBox, где мы могли выбрать конкретный плеер, в нашем случае – VideoPlayer.
2. Воспроизведение HLS и Mpeg-Dash-видеопотоков через приложение YouTube. Для тестирования мы использовали видео 4K при 60 кадрах в секунду. Никаких зависаний или пропусков кадров замечено не было. На всех скриншотах с youtube был черный экран, вероятно, из-за защиты контента.
В SmartYoutube нам удалось сделать скриншоты.
3. Невозможно было отправить файлы mpd и m3u8 напрямую в плеер через наш файловый менеджер или браузер, но в некоторых случаях браузер мог воспроизводить наше видео.
4. Воспроизведение потоков DASH и HSL с помощью Exoplayer Demo. Все видео, доступные по живым ссылкам, были успешно воспроизведены. Не воспроизводилось только видео, защищенное Widevine, которое сопровождалось надписью «Это устройство не поддерживает требуемую схему DRM»…
Встроенные видео-тесты от Realtek
В Hercules OTT также есть предустановленное приложение для тестирования одновременного воспроизведения нескольких видео. В ходе тестирования мы выяснили, что режимы «2 экрана в одном» и «картинка в картинке» имеют относительно приличную поддержку видео только с битрейтом до 4-5 Мбит/с и желательно MPEG4:
Видео с низким битрейтом в 360 кбит/с, но при 60 кадрах в секунду не могли воспроизводиться одновременно, даже два видео.
Мы также могли запускать одновременно восемь видео с низким битрейтом 670 кбит/с, 15 кадрами в секунду и разрешением 320 × 240 пикселей. Когда мы пытались запустить девять или более экранов, некоторые файлы не запускались или отсутствовали кадры.
На плате Realtek также была предустановленная демонстрация кодировщика, которая позволяет перекодировать до 4 видео одновременно из mp4 в AVC-ts.
Мы проверили, на что способно это ПО:
- 1x видео 1080p при 60 кадрах в секунду со скоростью транскодирования около 54 кадров в секунду
- 2x параллельных видео 1080p при 30 кадрах в секунду со скоростью транскодирования около 23 кадров в секунду
Запуск приложения OpenCamera
В последнем тестовом примере мы запустили приложение OpenCamera и подключили веб-камеру Logitech C920 USB для тестирования кодирования видео. Мы выяснили, что плата может записывать видео до 1080p при 27 кадрах в секунду в формате AVC. Не удалось записать видео в формате HEVC.
Выводы
Наши тесты показали, что чип RTD1395 в целом соответствует заявленным характеристикам. Плату Hercules OTT можно использовать для разработки и отладки устройств Android TV, дисплеев Miracast и Intel Wireless, телевизионных приставок и проигрывателей потоковой передачи OTT. Ее также можно использовать для разработки прошивки на основе AOSP для операторов IPTV.
Для более объективной оценки вам также следует ознакомиться с конкурирующими решениями с аналогичными функциями, такими как чип Amlogic S905X или более свежий S905X2.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.