[Работа с видео, Разработка под Android, Разработка под Linux, Производство и разработка электроники, Компьютерное железо] Тестируем плату для 4K Android ТВ-приставок на чипе Realtek RTD1395

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Авг-2020 12:32


Мы недавно получили посылку от партнеров в Тайване — компании Realtek. Внутри была плата Hercules OTT — 32-битная, с памятью на 2 Гб и предустановленной ОС Android 9. Посмотрим, что она умеет и как ее можно использовать для разработки новых ТВ-приставок.
Плата Hercules OTT представляет собой Android IPTV box, который воспроизводит видео любых форматов с максимальным разрешением 4K. Обеспечена поддержка стриминговых сервисов Youtube, Netflix и др. посредством dash и hls. Будут работать и любые другие приложения для Android, такие как приложения аудио-видеозвонков и конференций. Однако с играми будут проблемы из за неудобства управления (придется подключать геймпад).
Realtek представила платы на базе чипа RTD1395 еще в 2018 году, их задействовали в своих абонентских устройствах операторы IP и кабельного телевидения, а также программисты, которые разрабатывают ПО для ТВ-приставок. Чип RTD1395 с четырьмя ядрами ARM Cortex-A53 и граф. процессором Mali-470 стал тогда более дешевой альтернативой для других моделей — RTD1295 и RTD1296, но при этом поддерживал те же возможности работы с видео 4K. Сейчас аналогичные решения есть у Amlogic, Mediatek и других чип-вендоров, но о них мы расскажем в другой раз.
А сейчас сфокусируемся на нашей посылке.
Тестируем железо на плате
Так как плата Hercules ОТТ является отладочной, мы проверяли только физические способности чипа.
Итак, характеристики RTD1395ES:
  • 4-ядерный ARM Cortex-A53
  • Графический процессор ARM Mali-470 MP4
  • Декодер H.265 4K 60 fps, VP9 4K 60 fps, H.264 4K 30 fps
  • Кодировщик H.264 1080P 60 fps
  • HDR10, HLG, TCH Prime, Dolby Vision, HDR10+
  • USB2.0 хост/устройство
  • HDMI Tx v2.0b + CEC
  • 10/100 MAC и PHY + Gigabit Ethernet MAC
  • PCIe 2.0
  • SGMII
  • SDIO 3.0 и SD 3.0
  • I2S ввод/вывод
  • S/PDIF вывод


Результаты тестирования платы:
  • 2 х USB 2.0 — оба работают
  • 1 х Ethernet 100 Мбитный порт — работает
  • 1 х HDMI — работает
  • 1 х S/PDIF — работает
  • 1 х 3,5 мм аудиоразъем — работает
  • 1 х слот для SD-карт — работает
  • 1 х ИК-порт — так как «родного» пульта у нас не было, а пульт от Amlogic не подошёл, то протестировать не смогли
  • 1 х USB Type-C — только как питание
  • 1 х WIFI/Bluetooth-модуль: wifi — работает, bluetooth не проверяли

Питание платы реализовано по кабелю Type-C на 5 Вольт так как отдельный разъём питания не распаян.
Для навигации в Android мы пробовали использовать пульт Opal с usb-свистком, который прежде работал со всеми IPTV-коробками, но на этой работать он отказался и даже не определялся в lsusb. Из-за этого пришлось пользоваться клавиатурой/мышью, что не очень удобно из-за отсутствия кнопок Back и Menu.
Сам процессор во время работы прилично греется, поэтому мы прилепили радиатор в виде тормозной колодки (см. на фото выше).
Тестируем воспроизведение видео
1. Запускаем 56 тестовых роликов
Проверяем возможности декодирования с помощью тестовых видео с сайта http://jell.yfish.us/

Открыть список из 56 видеофайлов для проверки:

SPL
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

Из всех протестированных видео не запустились только 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
Лог ошибки воспроизведения:
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 файлы h264 играет до 180 Мбит/с, дальше уже не успевает подготавливать кадры. HEVC перестаёт воспроизводить на 120 Мбит/с (судя по логам крашей — из-за нехватки памяти).
2. Запускаем тест Geekbench3
В тесте Geekbench3 система набрала 523/1656 баллов SingleCore/MultiCore, что примерно равно производительности чипа Amlogic S905 (500/1400) а в multicore даже немного опережает. Но при этом значительно отстаёт от Amlogic S905X2 (700/2200).

3. Проверяем разные fps
Мы тестировали видео с разной кадровой частотой (fps): 23.976, 24, 25, 50, 59.94, 60. С этим проблем не возникло.
Варианты видео с прогрессивной и чересстрочной развёрткой также воспроизводятся успешно.
4. Запускаем стримы HLS и Mpeg-Dash
Также протестировали воспроизведение HLS и Mpeg-Dash-стримов с помощью нескольких способов, а именно:
Способ №1. Воспроизведение стримов через агрегатор фильмов HD VideoBox, в котором при запуске видео можно выбрать плеер, в нашем случае — VideoPlayer.


Способ №2. Воспроизведение HLS и Mpeg-Dash- стримов через youtube-приложение. Для тестирования брали ролики 4K 60 fps. Просадок кадров или затормаживания не заметили. На всех скриншотах из youtube получился чёрный экран вместо картинки, вероятно, из-за защиты контента.

На SmartYoutube скриншоты делаются корректно.
Способ №3. Скормить mpd- и m3u8-файлы напрямую плееру через файловый менеджер или браузер никак не удалось, но в некоторых случаях браузер способен воспроизводить видео.
Способ №4. Воспроизведение стримов DASH и HSL через Exoplayer Demo. Все видео, ссылки на которых были живы, воспроизводились успешно. Единственное, что не воспроизводилось — защищённые видео Widevine, которые сопровождались надписью «Это устройство не поддерживает требуемую DRM-схему» (This device does not support the required DRM scheme)…
5. Встроенные тесты видео от Realtek
Также на плате Hercules ОТТ есть и собственное предустановленное приложение для тестирования воспроизведения сразу нескольких видео. В ходе тестирования выяснилось, что в режиме, когда экран делится на 2 или в режиме картинка-в-картинке, более-менее сносно воспроизводится видео только с битрейтом до 4—5 Мбит/с и желательно MPEG4:

Видео с низким битрейтом 360 кбит/с, но 60 fps не осилил даже 2 видео одновременно.
Видео с низким битрейтом 670 кбит/с и 15 fps и разрешением 320x240 пикселей осилил одновременно 8 видео, при 9 и более некоторые могли не запуститься и кадры в видео терялись.

Также на плате Realtek предустановлена программа Encoder, которая позволяет транскодировать до 4 видео одновременно из mp4 в AVC-ts-файлы.


Проверили, что она может транскодировать:
1 видео 1080p60fps (скорость транскодирования около 54 fps)
2 параллельных видео 1080p30fps (скорость транскодирования около 23 fps)
6. Запускаем приложение OpenCamera
Для последней проверки запускаем приложение OpenCamera и подключаем usb-веб-камеру Logitech С920 для тестирования кодирования видеозаписи. Выяснили, что в формате AVC на плате можно записать видео до 1080p27fps. В формате HEVC записать видео не удалось.
Выводы
Тесты показали, что в целом чип RTD1395 соответствует заявленным показателям. Плату Hercules ОТТ можно использовать для разработки и отладки устройств типа Android TV, дисплеев Miracast and Intel Wireless, ТВ-приставок и стриминговых OTT-плееров. Также на ней можно разрабатывать прошивку на основе AOSP для операторов IP-телевидения.
А для полной объективной оценки этого решения можно еще изучить конкурентов с аналогичными характеристиками, таких как Amlogic s905x и более новый S905X2.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_rabota_s_video (Работа с видео), #_razrabotka_pod_android (Разработка под Android), #_razrabotka_pod_linux (Разработка под Linux), #_proizvodstvo_i_razrabotka_elektroniki (Производство и разработка электроники), #_kompjuternoe_zhelezo (Компьютерное железо), #_realtek, #_android_tv, #_miracast, #_stb, #_tsifrovoe_tv (цифровое ТВ), #_promwad, #_razrabotka_tvpristavok (разработка ТВ-приставок), #_rtd1395, #_amlogic, #_mediatek, #_iptv, #_rabota_s_video (
Работа с видео
)
, #_razrabotka_pod_android (
Разработка под Android
)
, #_razrabotka_pod_linux (
Разработка под Linux
)
, #_proizvodstvo_i_razrabotka_elektroniki (
Производство и разработка электроники
)
, #_kompjuternoe_zhelezo (
Компьютерное железо
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 18:17
Часовой пояс: UTC + 5