DRM-X 6.0 logo de pomba e ramo de oliveiraDRM-X 6.0Documentação
◎ Português

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.

Ver MarkdownExemplos onlineUpdated 2026-09-21

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.

Samsung TV usa um aplicativo Web Tizen. Este guia cobre Widevine DASH VOD com Samsung AVPlay. Use o kit de avaliação pública para testar o player ou o Professional/Enterprise SDK para conectar seu próprio back-end.

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:

0adbb09e72751a1934b94bcf7e59cb42f84b5822cba14f884ecb047b91bace9a

Não assinado WGT SHA-256:

aa03536de098471e6f4870ebf668263ddd1799f1f091e3424197cd3b424df8f8

PowerShell: Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256. Um widget configurado ou assinado possui um hash diferente.

2. Emparelhe seu TV e crie seu certificado#

  1. 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.
  2. 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.
  3. 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.
  4. 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#

Composição ilustrativa de reprodução. Foram adicionados à interface do player um quadro de vídeo fornecido e uma legenda de exemplo.
Composição ilustrativa de reprodução. Foram adicionados à interface do player um quadro de vídeo fornecido e uma legenda de exemplo.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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#

  1. Baixe Tizen SDK ZIP.Abra Console → Developer Tools → Device SDKs com um Professional ativo ou Enterprise organização. Leia README.md.
  2. Use o exemplo completo do player.Copie universal-player/ em seu aplicativo Web TV. Editar runtime-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.
  3. Conecte seu backend.Autentique o espectador, verifique o direito de acesso e retorne Universal Playback Session Contract v1 com widevine, dash, vod e streaming. Implemente também o endpoint de liberação da sessão. O cliente aceita autorização por token direto ou proxy de token.
  4. 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.
  5. Assine com sua identidade.Use as mesmas etapas de compilação/pacote Tizen com universal-player como entrada, DRMXPlayer.wgt como nome do arquivo de saída e DrmXSdk001.Player como 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#

SintomaVerificar
Não é possível instalar WGTUse 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 falhouMantenha 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 TVTeste 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íveisForneç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 TVA 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.