연락처 지원 | 시스템 상태
페이지 내용

    Brightcove Player에서 재생 인증 DRM 사용

    이 항목에서는 Brightcove 재생 인증 서비스를 사용하도록 Brightcove Player를 구성하는 방법을 배웁니다.

    소개

    Brightcove의 PAS(Playback Authorization Service)는 DRM 보호 또는 HLSe(HTTP 라이브 스트리밍 암호화) 콘텐츠와 함께 Dynamic Delivery를 사용할 때 추가 보안 수준을 제공합니다. PAS를 사용하면 라이센스 요청이 서명된 JSON 웹 토큰(JWT) . 토큰은 비디오가 플레이어에 로드되고 소스가 선택되면 비디오 라이선스를 요청할 때 사용됩니다.

    이 문서는 Brightcove Player와 함께 PAS를 사용하는 데 중점을 둡니다. 일반적인 PAS에 대한 자세한 내용은 다음을 참조하십시오. 개요: 재생 권한 부여 서비스가 포함된 DRM문서.

    개요

    PAS를 사용하도록 Brightcove Player를 구성하려면 비디오에 대한 카탈로그를 요청할 때 토큰 매개변수를 전달하십시오. 코드는 다음 섹션에 표시됩니다. 코드를 이해하기 위한 전제 조건이 있는지 확인하려면 다음 문서의 개념이 빌드 기반을 제공하는 데 도움이 됩니다.

    카탈로그 매개변수에서 토큰 사용

    이 섹션에서는 PAS를 사용하도록 플레이어를 구성하는 데 필요한 코드를 자세히 설명합니다. 이렇게 하려면 문자열 토큰을카탈로그 매개변수객체, 속성 이름 사용bcovAuthToken .

    이 접근 방식은 DRM과 HLSe 모두에서 작동합니다. 플레이어는 Playback API에서 로드되는 소스 유형을 감지하고 해당 소스에 대한 올바른 구현을 제공합니다.

    이 샘플 구현 코드는카탈로그.get()토큰을 제공하는 동안 비디오를 요청하는 메서드(이는<BCOV_AUTH_TOKEN>자리 표시자). 비디오 ID를<video-js>꼬리표.

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: '<BCOV_AUTH_TOKEN>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    SSAI 구성

    SSAI와 함께 PAS를 사용하려는 경우 수행해야 하는 작은 구성 추가가 하나 있습니다. 카탈로그 매개변수 개체에 추가 매개변수를 추가해야 합니다. adConfigId .

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: 'BCOV_AUTH_TOKEN',
          adConfigId: '<YOUR_ADD_CONFIG_ID>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    사용자 정의 구현 사용

    당신은 당신이 가지고 있지 않은 사용자 정의 구현을 사용하고있을 수 있습니다bcovAuthToken값을 설정하려면카탈로그.get()메소드 요청. 자신의 플레이어나 타사 플레이어를 사용하는 경우 다음 접근 방식 중 하나를 사용하여 토큰을 라이선스 요청에 전달할 수 있습니다.

    • HTTP 헤더: BCOV-Auth (HLSe는 지원되지 않음)
    • 쿠키: bcov-auth (HLSe는 지원되지 않음)
    • 쿼리 매개변수: bcov-auth (HLSe에 대해서만 지원됨) 라이선스 URL 대신 마스터 매니페스트 URL에 추가해야 합니다.

    다음은 설정하는 방법을 보여주는 예입니다. source.emeHeaders['BCOV-Auth']비디오 개체의 속성을 토큰에 추가합니다. 이것은 삽입emeHeader카탈로그 요청 후 각 소스에서.

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001'
        })
        .then(function(video){
          sources=video.sources;
    
          for (let i = 0; i < sources.length; i++) {
            const source = sources[i];
    
            // Only add the auth token as an eme header for DRM content
            if (BCOV_AUTH_TOKEN && source.key_systems) {
              source.emeHeaders = {
                  'BCOV-Auth': BCOV_AUTH_TOKEN
                };
            }
          }
            myPlayer.catalog.load(video);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    페이지 마지막 업데이트 날짜16 Oct 2022