Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

콘텐츠 인증

Prev Next

The latest service changes have not yet been reflected in this content. We will update the content as soon as possible. Please refer to the Korean version for information on the latest updates.

Classic/VPC 환경에서 이용 가능합니다.

TV SDK에서 DRM(Digital Rights Management)으로 보호된 콘텐츠를 재생하는 방법을 안내합니다.

주의

DRM은 시뮬레이터 / 에뮬레이터에서 동작하지 않습니다. 반드시 실제 기기에서 테스트해 주십시오.

플랫폼별 DRM

플랫폼별 지원 DRM과 재생 엔진은 다음과 같습니다.

플랫폼 DRM 엔진
Android TV Widevine(com.widevine.alpha) ExoPlayer
tvOS FairPlay(com.apple.fps) AVPlayer

방식 1: 웹 SDK 호환 DRM 키

SDK가 플랫폼에 따라 자동으로 적합한 DRM을 선택합니다. Android TV는 Widevine, tvOS는 FairPlay를 사용합니다.

<VpePlayer
    accessKey="YOUR_ACCESS_KEY"
    options={{
        playlist: [{
            drm: {
                'com.widevine.alpha': {
                    src: 'https://example.com/manifest.mpd',
                    licenseUri: 'https://license-server.com/widevine',
                    licenseRequestHeader: {
                        'pallycon-customdata-v2': 'DRM_TOKEN',
                    },
                },
                'com.apple.fps': {
                    src: 'https://example.com/index.m3u8',
                    certificateUri: 'https://license-server.com/cert',
                    certificateRequestHeader: {
                        'pallycon-customdata-v2': 'DRM_TOKEN',
                    },
                    licenseUri: 'https://license-server.com/fairplay',
                    licenseRequestHeader: {
                        'pallycon-customdata-v2': 'DRM_TOKEN',
                    },
                },
            },
            poster: 'https://example.com/poster.jpg',
            description: { title: 'DRM 영상' },
        }],
    }}
    onBack={() => navigation.goBack()}
/>

방식 2: react-native-video 직접 DRM 형식

react-native-video의 DRM 형식을 직접 사용할 수도 있습니다.

FairPlay (tvOS)

<VpePlayer
    accessKey="YOUR_ACCESS_KEY"
    options={{
        playlist: [{
            file: 'https://example.com/video.m3u8',
            drm: {
                type: 'fairplay',
                licenseServer: 'https://license-server.com/fairplay',
                certificateUrl: 'https://license-server.com/cert',
                headers: { 'pallycon-customdata-v2': 'DRM_TOKEN' },
            },
        }],
    }}
    onBack={() => navigation.goBack()}
/>

Widevine (Android TV)

<VpePlayer
    accessKey="YOUR_ACCESS_KEY"
    options={{
        playlist: [{
            file: 'https://example.com/video.mpd',
            drm: {
                type: 'widevine',
                licenseServer: 'https://license-server.com/widevine',
                headers: { 'pallycon-customdata-v2': 'DRM_TOKEN' },
            },
        }],
    }}
    onBack={() => navigation.goBack()}
/>

Secure Token

token 속성으로 재생 소스에 Secure Token을 적용하여 OneTimeUrl을 지원할 수 있습니다. 재생 중 토큰 갱신도 가능합니다.

const playerRef = useRef<PlayerHandle>(null);

<VpePlayer
    ref={playerRef}
    accessKey="YOUR_ACCESS_KEY"
    options={{
        playlist: [{ file: 'https://example.com/video.m3u8' }],
        token: 'token=st=1675320871~exp=1675320901~acl=....',
    }}
    onBack={() => navigation.goBack()}
/>

// 재생 중 토큰 갱신
playerRef.current?.tokenChange('NEW_TOKEN_VALUE');