Recentemente, recebemos um pacote de nosso parceiro em Taiwan - Realtek. Dentro havia uma placa Hercules OTT - 32 bits, com 2 GB de memória e Android 9. pré-instalado. Vamos ver o que ela pode fazer e como pode ser usada para desenvolver novas caixas de TV.
A placa Hercules OTT é uma caixa de IPTV Android que reproduz vídeos de qualquer formato com resolução máxima de 4K. Suporte para serviços de streaming Youtube, Netflix e outros através de dash e hls. Quaisquer outros aplicativos Android, como chamadas de áudio e vídeo e aplicativos de conferência, também funcionarão. No entanto, haverá problemas com os jogos devido ao inconveniente de controle (você terá que conectar um gamepad).
A Realtek lançou placas baseadas no chip RTD1395 em 2018, elas eram usadas em seus dispositivos de assinantes por IP e operadoras de TV a cabo, bem como programadores que desenvolvem software para decodificadores. Chip RTD1395 com quatro núcleos ARM Cortex-A53 e um gráfico. o processador Mali-470 então se tornou uma alternativa mais barata para outros modelos - RTD1295 e RTD1296, mas ao mesmo tempo suportava os mesmos recursos para trabalhar com vídeo 4K. Agora, Amlogic, Mediatek e outros fornecedores de chips têm soluções semelhantes, mas falaremos sobre eles em outro momento.
Agora vamos nos concentrar em nossa premissa.
Testando o hardware na placa
Como a placa Hercules OTT é uma placa de depuração, verificamos apenas as capacidades físicas do chip.
Portanto, as características do RTD1395ES:
- 4 núcleos ARM Cortex-A53
- GPU ARM Mali-470 MP4
- Decodificador H.265 4K 60 fps, VP9 4K 60 fps, H.264 4K 30 fps
- Codificador H.264 1080P 60 fps
- HDR10, HLG, TCH Prime, Dolby Vision, HDR10 +
- Host / dispositivo USB 2.0
- HDMI Tx v2.0b + CEC
- 10/100 MAC e PHY + Gigabit Ethernet MAC
- PCIe 2.0
- SGMII
- SDIO 3.0 e SD 3.0
- Entrada / saída I2S
- Saída S / PDIF
Resultados do teste de placa:
- 2 x USB 2.0 - ambos funcionam
- 1 porta Ethernet 100 Mbps - funciona
- 1 x HDMI - funciona
- 1 x S / PDIF - funciona
- 1 conector de áudio de 3,5 mm - funciona
- 1 slot para cartão SD - funciona
- 1 x IrDA - como não tínhamos um controle remoto "nativo" e o controle remoto Amlogic não encaixava, não foi possível testar
- 1 x USB tipo C - apenas como alimentação
- 1 x módulo WIFI / Bluetooth: wi-fi - funciona, o bluetooth não foi testado
A placa é alimentada por um cabo Tipo C de 5 volts, pois um conector de alimentação separado não está conectado.
Para navegar no Android, tentamos usar o controle remoto Opal com apito usb, que funcionava anteriormente com todas as caixas de IPTV, mas se recusou a funcionar e nem foi detectado no lsusb. Por causa disso, tive que usar um teclado / mouse, o que não é muito conveniente devido à falta dos botões Voltar e Menu.
O próprio processador aquece decentemente durante a operação, então colocamos um radiador na forma de uma pastilha de freio (veja a foto acima).
Teste de reprodução de vídeo
1. Execute 56 vídeos de teste
Verificamos os recursos de decodificação usando vídeos de teste do site http://jell.yfish.us/
Abra uma lista de 56 arquivos de vídeo para verificar:
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
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
De todos os vídeos testados, apenas 3 arquivos não iniciaram devido a uma falha em 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 Registro de
erros de reprodução:
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 vídeos que foram abertos com sucesso durante o teste não mostraram congelamentos ou quadros perdidos. Talvez o chip seja capaz de lidar com vídeos de taxa de bits mais complexos, mas não vamos descobrir.
Não foi possível obter as capturas de tela do player de vídeo da Realtek. Provavelmente, o fato é que o player não é implementado usando ferramentas Android, mas tem acesso direto ao framebuffer para proteger o conteúdo da pirataria. No VLC e no ExoPlayer, as capturas de tela são feitas sem problemas.
Ao testar os mesmos vídeos no VLC, os arquivos h264 são reproduzidos até 180 Mbit / s, e então não tem mais tempo para preparar os quadros. HEVC para de tocar a 120 Mbps (a julgar pelos registros de travamento, devido à falta de memória).
2. Execute o teste Geekbench3
No teste Geekbench3, o sistema marcou 523/1656 pontos SingleCore / MultiCore, que é aproximadamente igual ao desempenho do chip Amlogic S905 (500/1400) e até um pouco à frente em multicore. Mas, ao mesmo tempo, fica significativamente atrás do Amlogic S905X2 (700/2200).
3. Verificando diferentes fps
Testamos vídeos com diferentes taxas de quadros (fps): 23,976, 24, 25, 50, 59,94, 60. Não houve problemas com isso.
As variantes de vídeo progressivo e entrelaçado também são reproduzidas com êxito.
4. Lançamento de streams HLS e Mpeg-Dash
Também testamos a reprodução de streams HLS e Mpeg-Dash usando vários métodos, a saber:
Método # 1. Reproduza a reprodução através do agregador de filmes HD VideoBox, no qual, ao iniciar o vídeo, você pode selecionar um player, no nosso caso, VideoPlayer.
Método número 2. Reprodução de streams HLS e Mpeg-Dash via aplicativo do youtube. Fizemos vídeos de 4K a 60 fps para teste. Não notamos quedas de frame ou lentidão. Todas as imagens do youtube mostram uma tela preta em vez de uma imagem, provavelmente devido à proteção de conteúdo.
As capturas de tela são feitas corretamente no SmartYoutube.
Método número 3. Não foi possível alimentar arquivos mpd e m3u8 diretamente para o player por meio do gerenciador de arquivos ou navegador, mas em alguns casos o navegador é capaz de reproduzir vídeo.
Método número 4. Jogue streams DASH e HSL via Exoplayer Demo. Todos os vídeos, links para os quais estavam vivos, foram reproduzidos com sucesso. A única coisa que não reproduziu foram os vídeos Widevine protegidos, que foram acompanhados pela inscrição "Este dispositivo não suporta o esquema DRM necessário" ...
5. Testes de vídeo integrados da Realtek
A placa Hercules OTT também possui um aplicativo pré-instalado para testar a reprodução de vários vídeos ao mesmo tempo. Durante o teste, descobriu-se que no modo em que a tela é dividida por 2 ou no modo picture-in-picture, o vídeo apenas com uma taxa de bits de até 4-5 Mbit / s é reproduzido de forma mais ou menos tolerável, e de preferência MPEG4:
Vídeo com uma taxa de bits baixa de 360 kbps s, mas 60 fps não dominava nem 2 vídeos ao mesmo tempo.
Vídeo com baixa taxa de bits de 670 kbps e 15 fps e resolução de 320x240 pixels masterizou 8 vídeos ao mesmo tempo, em 9 ou mais, alguns podem não iniciar e os quadros do vídeo foram perdidos.
Além disso, na placa Realtek, o programa Encoder está pré-instalado, o que permite transcodificar até 4 vídeos simultaneamente de arquivos mp4 para AVC-ts.
Verificamos se ele pode transcodificar:
1 vídeo 1080p60fps (velocidade de transcodificação de cerca de 54 fps)
2 vídeos paralelos 1080p30fps (velocidade de transcodificação de cerca de 23 fps)
6. Inicie o aplicativo OpenCamera
Para a última verificação, execute o aplicativo OpenCamera e conecte a webcam usb Logitech C920 para testar a codificação de vídeo. Descobrimos que a placa pode gravar vídeo de até 1080p27fps no formato AVC. Falha ao gravar vídeo no formato HEVC.
conclusões
Testes mostraram que, em geral, o chip RTD1395 atende aos indicadores declarados. A placa Hercules OTT pode ser usada para desenvolver e depurar dispositivos como TVs Android, monitores Miracast e Intel Wireless, decodificadores e reprodutores de streaming OTT. Também pode ser usado para desenvolver firmware baseado em AOSP para operadoras de IPTV.
E para uma avaliação objetiva completa desta solução, você ainda pode estudar concorrentes com características semelhantes, como o Amlogic s905x e o mais recente S905X2.