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

Exemplos por linguagem de backend

Entenda o fluxo comum de reprodução e encontre o callback exato a modificar em Node.js, Django, Laravel, PHP, ASP.NET ou Java.

Ver MarkdownExemplos onlineAtualizado em 2026-09-25

Seu site decide quem pode assistir#

Mantenha seus sistemas de login, compras, associação e matrícula. Sua aplicação fornece o usuário atual e o Content ID autorizado. O SDK chama DRM-X e o reprodutor carrega o vídeo protegido.

Uma ligação à sua aplicação existente

Você gerencia o login e decide quem tem acesso. O SDK e o reprodutor cuidam da reprodução protegida.

  1. Manter o seu login

    O espectador entra pelo seu site existente.

  2. Conectar sua pesquisa

    Seu aplicativo verifica o acesso e retorna o DRM-X Content ID para a lição selecionada.

  3. Chamada através do SDK

    O SDK de backend usa credenciais do servidor para solicitar reprodução autorizada ao DRM-X.

  4. Mostrar o reprodutor

    O reprodutor obtém uma licença DRM e reproduz o conteúdo criptografado publicado.

Entenda os dois IDs de vídeo#

ValorExemploDe onde vem
ID de vídeo do sitelesson-123Sua lição, produto ou registro de vídeo.
DRM-X Content IDyour-published-content-idO conteúdo protegido publicado em DRM-X.
ID do usuáriocustomer-456A sua sessão de login autenticada.

Mapeie sua lição para seu Content ID usando seu banco de dados existente, API ou código de aplicação. Encontrar um vídeo não prova que este usuário possa assisti-lo; verifique a permissão antes de devolvê-lo.

Preparar uma vez, em seguida, integrar#

  1. Encriptar e publicar um vídeo e copiar o seu Content ID.
  2. Crie credenciais de reprodução para o mesmo ambiente. Use Site ID, Site Key e Access Key no servidor.
  3. Baixe o kit completo ou seu kit de plataforma. Instale seu SDK usando seu gerenciador de pacotes.
  4. Conecte seu callback de permissão do usuário sobre o conteúdo e adicione o reprodutor à página.

O SDK opera em conteúdo já publicado. Ele não substitui o empacotador ou seu sistema de pagamento. Dependências de execução de terceiros podem precisar de acesso à internet durante a instalação.

Escolha sua linguagem#

Escolha uma linguagem para ver os pontos que deve modificar.

Node.js / Express

Edite sua aplicação: server.mjs

Conectar: authorize(userId, videoId)

Retorna um mapeamento de conteúdo autorizado ou null. Leia o usuário do seu middleware de login existente.

Abrir tutorial e comandos de instalação →

Python / Django

Edite sua aplicação: authorization.py

Conectar: authorize(user, video_id)

Devolver um dicionário com content_id, ou None. Registre-o como DRMX['AUTHORIZE'] em settings.py.

Abrir tutorial e comandos de instalação →

PHP / Laravel

Edite sua aplicação: app/Services/DrmxAccess.php

Conectar: ContentAuthorizer.authorize(user, videoId)

Retornar um array de conteúdo autorizado ou null. Ligue o seu serviço em AppServiceProvider.

Abrir tutorial e comandos de instalação →

PHP simples

Edite sua aplicação: index.php

Conectar: findAuthorizedVideo(userId, videoId)

Retornar um array de conteúdo autorizado ou null. Conecte sua identidade de sessão PHP existente.

Abrir tutorial e comandos de instalação →

C# / ASP.NET Core

Edite sua aplicação: Program.cs

Conectar: QuickStartCatalog.FindAuthorizedVideoAsync

Devolver QuickStartVideo ou null. IDrmXContentEntitlement verifica o Content ID solicitado contra esse resultado.

Abrir tutorial e comandos de instalação →

C# / ASP.NET Framework

Edite sua aplicação: App_Code/DrmXPlayback.cs

Conectar: ApplicationServices.Authorize

Devolva true apenas para um usuário autorizado, Content ID e tipo de conteúdo. Este é um adaptador fonte para Windows/IIS.

Abrir tutorial e comandos de instalação →

Java / Spring Boot

Edite sua aplicação: DrmxAccess.java

Conectar: ContentEntitlement.authorize(userId, videoId)

Retorne Optional<AuthorizedVideo> ou Optional.empty(). Conecte o controlador e o bean de autorização ao repositório existente.

Abrir tutorial e comandos de instalação →

Configurar o seu servidor#

ExemplosVariáveis de ambiente
Node, Django, Java, PHP SDK, LaravelDRMX_SITE_ID, DRMX_SITE_KEY, DRMX_ACCESS_KEY
ASP.NET Core e FrameworkDRMX_PLAYBACK_SITE_ID, DRMX_PLAYBACK_SITE_KEY, DRMX_PLAYBACK_ACCESS_KEY

Carregue isto no processo do servidor. Content ID é um valor comercial por vídeo; não sobrescreva credenciais compartilhadas ou configuração global para alternar usuários ou vídeos. Mantenha a seleção de políticas no servidor.

PHP: conecte seu site existente#

Baixe este kit de plataforma

SDK em versão prévia, exemplo de aplicação e código-fonte. Mantenha a estrutura de pastas extraída.

Todas as plataformas e kit completo · Entenda o processo de integração

  1. Configurar

    Ambiente do servidor

    Definir DRMX_SITE_ID, DRMX_SITE_KEY e DRMX_ACCESS_KEY.

  2. Autorizarexamples/sdk/php/index.php

    Edite findAuthorizedVideo($userId, $videoId) e leia o ID do usuário na sessão existente.

  3. Incorporar

    Sua página de aula

    Reutilize a marcação do reprodutor e mantenha o videoId selecionado no endpoint de sessão.

cd examples/sdk/php
composer install
# Set server credentials and DRMX_LOCAL_DEMO=1 for a localhost demo only.
php -S 127.0.0.1:8106 index.php

Para o primeiro teste, substitua your-published-content-id dentro de findAuthorizedVideo. Abra o http://127.0.0.1:8106/?videoId=1 e use o login de demonstração local. PHP precisa do suporte cURL e ZIP; use PHP 8.2 ou posterior.

Para sua aplicação, substitua a função demo por sua própria pesquisa. A chamada de repositório a seguir é ilustrativa; implementá- la usando seu banco de dados:

function findAuthorizedVideo(string $userId, string $videoId): ?array {
    $video = customerFindAuthorizedVideo($userId, $videoId);
    if ($video === null) return null;
    return ['contentId' => $video['drmx_content_id'],
            'contentType' => 'vod', 'title' => $video['title'],
            'policy' => 'multi-tier-standard'];
}

Leia $userId a partir da autenticação habitual do servidor. Mantenha as verificações de origem, a validação das solicitações e os controles exatos de conteúdo e tipo do exemplo. Escolha uma política compatível com o conteúdo publicado. PlaybackClient realiza a solicitação ao DRM-X; não pode deduzir suas regras de compra.

Outras linguagens e integração com a API#

Go, Ruby e outras linguagens de servidor podem chamar a API de sessões de reprodução após autenticar o usuário e verificar seu acesso ao conteúdo. Esta versão não inclui bibliotecas SDK para Go ou Ruby. Prefira os SDK fornecidos para as sete formas de integração acima.

Verificar antes de colocar em produção#

  • Entre como um usuário permitido e reproduza um vídeo publicado em um navegador suportado.
  • Teste usuários desconectados e usuários que não pagaram; depois, revogue o acesso ou faça-o expirar. Novas solicitações de sessão devem ser negadas.
  • Altere o Content ID no navegador ou o ID de vídeo do site. O servidor deve verificar a nova seleção.
  • Defina a exata origem pública HTTPS, mantenha a proteção session/CSRF do seu framework e desative o código de identidade demo.

As sessões existentes e as licenças DRM têm seus próprios prazos de validade. Novas solicitações verificam alterações de permissão; elas não apagam uma licença já emitida.

PHP: executar o site de demonstração completo#

Testar a demonstração PHP online · Baixar a demonstração PHP completa · SHA-256

Escolha o exemplo PHP SDK acima para uma pequena integração baseada em Composer em seu site existente. Escolha esta demonstração completa para um site pronto para executar com playlist, token-proxy e exemplos de diagnósticos. A demonstração completa usa um adaptador de fonte e precisa de PHP 8.2+ com cURL, mas sem Composer ou banco de dados. Ambas as abordagens mantêm credenciais em seu servidor e exigem sua verificação de permissão.

  1. Primeira reproduçãoconfig/drmx.php

    Definir siteId, siteKey, accessKey, content.id, content.type e um licensePolicyTemplate correspondente. Mantenha o resto da matriz.

  2. Os seus clientessrc/bootstrap.php

    Conecte authenticated_user_id() ao seu login; substitua user_can_play_content() por uma verificação atualizada de compra, associação ou matrícula.

  3. Seu catálogo de vídeosrc/bootstrap.php + public/index.php

    Substitua as funções auxiliares do catálogo de demonstração por sua consulta de vídeo existente. Apresente apenas Content ID e tipo autorizados; mantenha as verificações do servidor em cada solicitação de sessão.

# Windows, inside the extracted drmx-php-sample folder:
powershell -NoProfile -ExecutionPolicy Bypass -File .\run-local.ps1
# macOS / Linux:
bash ./run-local.sh

Abra http://127.0.0.1:8086/ e pressione Play. A reprodução online resolve automaticamente o manifesto registrado. A demonstração local conecta um espectador de teste; isso é apenas uma verificação inicial da reprodução.

Para seu site, defina demo.allowLogin, demo.autoAuthenticateLocalhost e demo.autoAuthenticatePublicDemo como false em config/drmx.php ou desative suas variáveis de processo equivalentes. Use seu próprio login e a verificação atual de permissões; não use a lista de autorizações da sessão de demonstração como banco de dados de compras. Os arquivos public/api/playback-session.php e playback-release.php tratam a API de reprodução; mantenha a validação das solicitações e a vinculação do conteúdo. Defina a raiz pública do site como public/ e use o roteamento do servidor web. O inicializador incluído é para testes locais.

As funções auxiliares do catálogo são demo_content_id(), demo_content_type(), player_playlist() e configured_content(). Em um site com vários vídeos, consulte esses valores no catálogo existente; a verificação de permissão deve validar a seleção exata. Não é necessário sincronizar compras com tabelas DRM-X. As licenças DRM existentes têm seus próprios prazos de validade; a revogação é verificada novamente em novas sessões.

Use o README incluído para a política completa, hospedagem, token-proxy e detalhes off-line nativos. Antes do lançamento, teste a reprodução autorizada, usuários negados e revogados, substituição de conteúdo, Stop e seus navegadores suportados sobre HTTPS.

Um Content ID, qualquer que seja o armazenamento que você usar#

Sua integração de streaming não precisa de uma URL de manifesto. Para 1aicloud ou armazenamento S3 configurado, o DRM-X usa as URLs de mídia registradas na publicação do pacote. Se você enviar os arquivos criptografados para seu próprio servidor, registre primeiro as URLs de mídia DASH/HLS no DRM-X. Depois use o mesmo Content ID no PHP, ASP.NET ou em outra integração. Seu servidor continua verificando a permissão atual do usuário antes de solicitar a reprodução.

  1. Publicar ou registrar uma única vezDRM-X content settings

    Confirme se os URLs de mídia corretos protegidos DASH/HLS estão registrados para o seu Content ID.

  2. Conecte seu site

    Seu callback de autorização

    Verifique login e compra, associação ou inscrição. Devolva o Content ID permitido.

  3. ReproduzirDRM-X playback session

    DRM-X resolve o pacote publicado e retorna o manifesto adequado e DRM License Token.

Se o manifesto registrado não estiver disponível, corrija a publicação ou o registro das URLs de mídia no DRM-X. Não use uma URL arbitrária enviada pelo navegador como alternativa. O endpoint nativo offline da demonstração PHP completa é um exemplo avançado separado; o mapeamento manual atual está documentado em advanced/OFFLINE.md.