웹 및 HTML5 재생
DRM-X 6.0 Universal Player과 웹 재생 통합, 자격이 된 Shaka, PHP, ASP.NET Core, 자동 DRM 선택 및 안전한 진단.
완전한 샘플 사용 첫번째#
The Web package contains the latest local Universal Player JavaScript and declarations, qualified Shaka, a runnable PHP application, a runnable ASP.NET Core example, and an integration README. Production pages may load Shaka and Universal Player from the DRM-X CDN; the package retains current local files for review, development, and controlled fallback.
- 서버 측에서 Site ID, Site Key 및 Access Key를 설정하세요.
- 신뢰할 수있는 게시 된 보호 파일 Content ID 및 정책 이름을 설정합니다.
- 귀하의 비즈니스 논리와 샘플 로그인 및 제목 결정을 대체합니다.
Minimal 클라이언트 경계#
<script src="https://drm-x6-cdn.1aicloud.com/sdk/drmx-universal-player/v1/drmx-universal-player.js"></script>
<drmx-universal-player id="player"></drmx-universal-player>
<script>
// Call your authenticated backend, not api6.drm-x.com.
const session = await fetch('/api/playback/session', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({contentId: 'trusted-catalog-reference'})
}).then(r => r.json());
await window.DrmXUniversalPlayer.start(document.querySelector('#player'), session);
</script>자동 DRM 동작 #
- Windows Microsoft Edge는 PlayReady을 선호합니다. 자격이 된 PlayReady 경로가 재생하기 전에 실패하면 자동 모드가 바인딩 된 Widevine fallback을 사용할 수 있습니다.
- Chrome 과 지원 Android 브라우저 사용 Widevine.
- Safari on iPhone and iPad uses native HLS FairPlay. 지원되는 macOS Safari, 자격이 된 Shaka MSE FairPlay는 기본 HLS fallback과 함께 사용할 때 선호됩니다.
- 호환 화웨이 브라우저는 자격이 된 WisePlay 경로 및 보수적 인 자동 품질 동작을 사용합니다.
생산 checklist#
- HTTPS 이상 모든 것을 시도하고 서버 비밀에서 Access Key을 유지합니다.
Cache-Control: no-store로 재생 세션 응답을 반환합니다.- persist가
localStorage의 URL, 토큰 또는 세션 응답을 표시하지 마십시오. - 자세한 적색 로그 선택 및 시간 경계를 유지하십시오. 라이센스 바이트 또는 허가를 기록하지 마십시오.
- 물리적인 Windows Edge, macOS Safari, iPhone / iPad Safari, Android 및 광고하는 모든 장치 클래스를 테스트하십시오.
HTML5 한 Web Component와 재생 #
<script
src="https://drm-x6-cdn.1aicloud.com/shaka-player-5.2.4-drmx.2-6557ae581f1c.js"
integrity="sha384-QzxDZ19XaYAL308fvtVjFjUX9RpRxtSfEZ1k1lm8FsRuML1MgNEORVMCtmToCFb8"
crossorigin="anonymous"></script>
<script
src="https://drm-x6-cdn.1aicloud.com/drmx-universal-player-1.2.0-preview.6-fa4b95431a9a.js"
integrity="sha384-gwj1QszshenHjMEkHTTDEpozi6rbhsQgPlaq+aHBCgHiuEd2VK0P8tOB8BWaMQRr"
crossorigin="anonymous"></script>
<drmx-universal-player
content-id="course-12-lesson-4"
content-type="vod"
session-endpoint="/api/drmx/playback-session">
</drmx-universal-player>
브라우저는 인증된 동일한 리긴 엔드포인트만 호출합니다. 자동은 적절한 지원된 DRM 및 등록된 DASH/HLS 표시를 선택합니다. 비트레이트, 오디오 언어/채널, 자막, Picture-in-Picture, fullscreen 및 재생 속도가 내장되어 있습니다.
Shaka, Video.js, Bitmovin 또는 다른 EME 플레이어 사용
귀하의 백엔드에서 계약 v1을 요청하고 manifestUrl을로드하고 Authorization: Bearer {drmLicenseToken}에 DRM 라이센스 및 FairPlay 인증서 요청을 추가하십시오. opaque 도전 및 라이센스 응답 바이트를 정확히 보존하십시오. 재생 종료시 반환 릴리스 경로를 사용하십시오.
Universal Player 재생 목록 및 공유 컨트롤 #
웹 및 Android 판은 컴팩트한 블루 컨트롤이있는 일관된 어두운 설정 패널을 사용합니다. Playlists는 다음 / 이전, shuffle, 반복 한 / 모든 및 cancellable 자동 사전을 지원합니다. 모든 항목은 새로운 공인 재생 요청을 사용합니다. 장 및 성적 메타 데이터는 콘텐츠 카탈로그에서 제공됩니다.
재생 속도, 수면 타이머, 캡션, 허용된 품질, 오디오 언어, 세션 북마크 및 A-B 루프를 사용할 수 있습니다. 웹은 키보드 단축키, 옵션 뷰어-스코프 로컬 이력서, 성적 검색 및 지원 브라우저 PiP를 추가합니다. Android는 기본 Widevine 오프라인 다운로드 및 갱신을 유지합니다. 주조 및 크로스 디바이스 진행은 별도의 응용 통합이 필요합니다.
전문 및 기업 로고 설정
브랜딩은 비디오 표면을 차단합니다. 웹 플레이어을 마우스 오른쪽 버튼으로 클릭하거나 설정 → 약 플레이어에 대한 권한을 부여 된 로고, 제품 정보 및 플레이어 버전을 볼 수 있습니다. 둥근 설정 제어 및 어두운 메뉴 스타일은 Android과 공유됩니다. 전체 화면 웹 설정은 또한 재생 목록 선택기를 포함합니다.
playerBranding을 신뢰받는 백엔드에서 {"mode":"hidden"} 또는 {"mode":"custom","logoUrl":"https://your-site.example/logo.png","label":"Your brand"}로 설정하십시오. 플랫폼은 활성 Professional 또는 Enterprise 구독을 확인합니다. 다른 플랜은 {"mode":"default"}을 사용; 권한없는 사용자 정의 / 숨겨진 요청은 403을 반환합니다. 이것은 보안 워터 마크로 분리됩니다.
PHP 다운로드에는 편집 가능한 재생 목록과 브랜딩 구성이 포함되어 있습니다. Android 고객 ZIP에는 재생 목록 콜백 예제가 포함되어 있습니다. 백엔드에서 재생 목록 작성자를 유지하십시오. API 클라이언트 인증 정보을 플레이어 중 하나에 포함하지 마십시오.
DRM-X 6.0