Samsung Tizen SDK e avaliação na TV
Instale o reprodutor de avaliação Samsung TV, configure e assine seu WGT e, em seguida, integre Widevine VOD com Tizen Universal Player SDK.
Experimente a demonstração PHP seguindo DEMO-QUICKSTART.md no SDK ZIP. Para usar seu próprio conteúdo, integre primeiro o site e o backend; depois, siga MOBILE-AND-TV-APPS.md para conectar o aplicativo ao mesmo sistema de login e às mesmas regras de acesso.
1. Baixe o kit de avaliação pública TV#
Baixar Samsung kit de avaliação ZIP
O ZIP inclui DRMXEvaluation.wgt, um serviço auxiliar local Python e o script de configuração. Baixe o WGT não assinado separadamente se você já possui o kit. O WGT deve ser configurado e assinado novamente para o seu TV. É uma instalação de desenvolvedor, não um aplicativo da loja Samsung ou um instalador universal de um clique.
- Um Samsung TV físico compatível e um computador no mesmo LAN privado confiável.
- Python 3.12+, Tizen Studio, a extensão Samsung TV e Samsung Certificate Extension 2.0.73 ou posterior.
- Um perfil de certificado Samsung TV contendo o DUID do seu dispositivo. Você não precisa de um plano DRM-X pago para esta demonstração pública.
Siga o guia oficial de instalação Samsung TV SDK e TV certificado. As telas de ferramentas variam de acordo com a versão.
Verifique os downloads públicos
Kit de avaliação SHA-256:
0adbb09e72751a1934b94bcf7e59cb42f84b5822cba14f884ecb047b91bace9aNão assinado WGT SHA-256:
aa03536de098471e6f4870ebf668263ddd1799f1f091e3424197cd3b424df8f8PowerShell: Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256. Um widget configurado ou assinado possui um hash diferente.
2. Emparelhe seu TV e crie seu certificado#
- Ative Developer Mode em TV.Em TVs suportadas, abra Apps, digite 12345 para abrir Developer Mode, ligue-o, entre em LAN IP do seu computador e reinicie o TV conforme as instruções. Siga o guia do dispositivo Samsung TV se o seu modelo for diferente.
- Conecte o TV.Abra Tizen Studio Device Manager / Remote Device Manager. Adicione TV's LAN IP e conecte. O computador deve estar acessível a partir desse TV; permita o serviço auxiliar local apenas na rede privada confiável.
- Crie um certificado Samsung TV.Abra Certificate Manager → Add → Samsung → TV. Use seu certificado de autor e um certificado de distribuidor que contenha o TV do DUID. Mantenha a chave privada do autor em seu próprio armazenamento de assinatura seguro.
- Permitir instalação.Em Device Manager, selecione o TV conectado e escolha Permit to install applications quando disponível. Mantenha o nome do perfil do certificado para os próximos comandos.
3. Configurar, construir e instalar#
Extraia a avaliação ZIP para um caminho curto sem espaços. Abra um terminal lá. Substitua os dois espaços reservados pelos endereços LAN privados reais:
python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP
Mantenha este terminal em execução. O script cria a pasta app e inicia um serviço auxiliar local que aceita apenas o IP da sua TV e uma nova autorização temporária. Ele se conecta à demonstração pública via HTTPS sem suas credenciais de cliente. Expira após quatro horas; não publique o widget configurado nem exponha sua porta à Internet.
Abra um segundo terminal na mesma pasta. Use os executáveis CLI da instalação Tizen Studio e substitua o perfil do certificado e o endereço TV:
tizen build-web -out .build -- app
tizen package -t wgt -s YOUR_SAMSUNG_PROFILE -- app/.build
sdb connect YOUR_TV_IP:26101
tizen install -n DRMXEvaluation.wgt -s YOUR_TV_IP:26101 -- app/.build
tizen run -p DrmXEval01.Player -s YOUR_TV_IP:26101
Em Windows as ferramentas normalmente são tools\ide\bin\tizen.bat e tools\sdb.exe dentro de Tizen Studio. Se um comando não for encontrado, use seu caminho completo ou adicione essa pasta ao seu terminal PATH.
Após quatro horas, pare o serviço auxiliar local, execute novamente o script de configuração com uma nova pasta --output app-new e compile e assine essa pasta novamente. A autorização temporária muda; não reutilize uma configuração instalada que já expirou.
4. Experimente VOD e os controles remotos#

- Escolha um título VOD com Para cima/Para baixo e pressione OK. Confirme o vídeo em movimento e o som audível no físico TV.
- Vá para a direita para os controles. Experimente pausar/retomar, anterior/próximo, avanço na linha do tempo de ±10 segundos e a linha do tempo.
- Tente tela inteira. Back fecha um menu ou sai da tela inteira antes de interromper a reprodução. O volume permanece nos controles remotos normais do TV.
- Verifique a lista de reprodução, reproduza a seguir, reproduza aleatoriamente e repita. As opções de áudio/legenda dependem das faixas de mídia reais.
- Interrompa a reprodução antes de fechar o serviço auxiliar local. As inscrições ao vivo permanecem indisponíveis, a menos que sejam qualificadas separadamente; este kit nunca inicia uma transmissão.
O serviço auxiliar de demonstração seleciona versões Full HD sem descriptografar nem transcodificar a mídia. Adicione suas próprias faixas de legenda compatíveis; o kit público não inclui legendas externas.
5. Crie seu próprio aplicativo com SDK#
- Baixe Tizen SDK ZIP.Abra Console → Developer Tools → Device SDKs com um Professional ativo ou Enterprise organização. Leia
README.md. - Use o exemplo completo do player.Copie
universal-player/em seu aplicativo Web TV. Editarruntime-config.js: defina seu endpoint de sessão de reprodução HTTPS, publicado Content IDs e o retorno de chamada de autenticação do visualizador. - Conecte seu backend.Autentique o espectador, verifique o direito de acesso e retorne Universal Playback Session Contract v1 com
widevine,dash,vodestreaming. Implemente também o endpoint de liberação da sessão. O cliente aceita autorização por token direto ou proxy de token. - Configure o acesso à rede.Adicione seu back-end real, mídia e origens de licença a
config.xml. Configure o CORS dos serviços para a origem TV quando necessário. Mantenha Site Key e Access Key exclusivamente no backend. - Assine com sua identidade.Use as mesmas etapas de compilação/pacote Tizen com
universal-playercomo entrada,DRMXPlayer.wgtcomo nome do arquivo de saída eDrmXSdk001.Playercomo aplicativo de amostra ID. Use seus próprios identificadores antes de distribuir seu aplicativo.
A amostra solicita um máximo de 1080p por padrão. Seu back-end deve retornar um codec e um conjunto de representação que TV pode decodificar. Esta solicitação de capacidade não reescreve um manifesto UHD; a licença e a política DRM permanecem válidas.
Mantenha sua própria interface
Carregue Samsung's $WEBAPIS/webapis/webapis.js e depois drmx-tizen.js. Inclua o objeto de vídeo nativo e mantenha um player para a tela:
<object id="video" type="application/avplayer"></object>
<script src="$WEBAPIS/webapis/webapis.js"></script>
<script src="drmx-tizen.js"></script>
const player = new DrmXTizen.Player({
endpoint: 'https://app.example.com/api/playback-session',
authentication: () => ({Authorization: 'Bearer ' + viewerToken}),
maximumHeight: 1080,
rect: {x:0, y:0, width:1920, height:1080},
onState: state => { statusLabel.textContent = state; }
});
await player.play('YOUR_PUBLISHED_CONTENT_ID');
player.pause();
player.resume();
player.seekTo(30000);
await player.stop();
await player.dispose(); // final dismissal or sign out
O SDK preserva os bytes do challenge Widevine e da licença. Ele cancela operações de reprodução obsoletas e libera as sessões ao parar, substituir ou descartar o player. Para WebVTT externo, forneça os metadados das faixas do catálogo e um callback subtitle(contentId, trackId) autorizado para UniversalPlayerService. Consulte a AVPlay API da Samsung para as restrições de mídia e faixas da plataforma.
Solução de problemas#
| Sintoma | Verificar |
|---|---|
| Não é possível instalar WGT | Use um certificado Samsung TV com este TV DUID, habilite Developer Mode e permita a instalação. O público WGT não está assinado. |
| O aplicativo diz que a configuração/conexão falhou | Mantenha o terminal do serviço auxiliar local em execução. Verifique ambos os endereços LAN IP, o acesso pelo firewall da rede privada e o prazo de quatro horas. Após reconfigurar, faça o build novamente. |
| Tela preta ou travada em TV | Teste som/progresso, codec, resolução suportada e política HDCP. Use uma escada FHD no Samsung Smart TV. Uma captura de tela preta não é o mesmo que uma tela preta TV. |
| Legendas indisponíveis | Forneça faixas compatíveis. A troca arbitrária de faixas DASH TEXT através de AVPlay não é suportada; o exemplo suporta WebVTT externo autorizado. |
| Funciona na visualização da área de trabalho, mas não TV | A prévia da interface no navegador não executa AVPlay nem Widevine. Teste em uma TV física e registre um código de erro sem dados confidenciais. |
Publique seu aplicativo pelo processo de certificação e envio da Samsung.
DRM-X 6.0