PlaynPlay
PlaynPlay

DRM 패키징 운영 가이드

DRM 패키징부터 검수까지
콘텐츠 담당자의 반복 작업 정리

새 강의 영상이 들어오면 패키징하고, 미디어 서버에 올리고, 서비스에 등록한 뒤 재생을 확인합니다. 이 가이드는 DRM 패키징 도구 사용법, 플랫폼별 재생 설정, 매번 확인할 항목을 작업 순서대로 묶었습니다.

최종 수정

DRM 패키징을 표현한 PlaynPlay 일러스트
Packaging

패키징하면 파일과 재생 과정이 이렇게 바뀝니다

패키징한 파일은 재생할 때마다 라이선스 발급과 권한 확인을 거칩니다. 어떤 파일을 패키징할지는 고객사가 정합니다.

  • 파일

    라이선스 키가 있어야 재생됩니다

    DRM 패키징한 미디어 파일은 PlaynPlay 인증 서버가 발급하는 라이선스 키로 재생됩니다. 인증 서버는 재생 세션도 함께 관리합니다.

  • 권한

    발급 여부는 고객사 서버가 답합니다

    라이선스를 발급할 때 콘솔에 등록한 Callback URL로 CheckAccessRights 요청이 갑니다. 수강 기간이 끝난 학습자라면 만료로 답하면 됩니다. 콘텐츠 담당자가 파일을 다시 만질 일은 없습니다.

  • 선택

    일반 파일로 두는 영상도 정하세요

    DRM 없이 일반 파일로도 서비스할 수 있습니다. 무료 공개 강의나 홍보 영상은 일반 파일로, 유료·사내 영상은 패키징하는 식으로 기준을 먼저 정해 두면 작업 범위가 분명해집니다.

Packaging Tool

DRM 패키징 도구는 명령 한 줄로 돌립니다

콘솔에서 내려받는 명령줄 도구 ndrm-pkg입니다. 함께 받은 ndrmconfig 파일과 같은 폴더에 두고, 출력 폴더와 대상 파일을 지정해 실행합니다.

작업대상 지정 예이럴 때 씁니다
파일 하나ndrm-pkg -o . data/2024/video.mp4수정본 한 편만 다시 패키징할 때
여러 파일파일 경로를 띄어쓰기로 나열서로 다른 폴더의 파일 몇 개를 한 번에 처리할 때
폴더 전체video/*.mp4강좌 폴더 하나를 통째로 처리할 때. *는 전체 파일을 뜻합니다
한 글자 대체**/video0?.mp4회차 번호만 다른 파일을 고를 때. ?는 문자 하나를 뜻합니다
하위 폴더 전체data/**/*연도·과정별로 나뉜 폴더를 한 번에 처리할 때. ** 뒤에는 반드시 /파일을 붙입니다
도움말-h, --help현재 도구의 사용법을 확인할 때

빌드는 macOS(arm64, x86_64), Windows(x86_64, x86), Linux(aarch64, x86_64, x86) 7종입니다. 명령줄 도구라서 담당자 PC에서 직접 돌려도 되고, 서버의 예약 작업에 넣어 업로드 폴더를 정기적으로 처리하게 구성할 수도 있습니다. 출력 폴더(-o)는 원본 폴더와 분리해 두는 것을 권합니다. 원문은 DRM 패키징 문서에 있습니다.

Hosting

패키징한 파일은 미디어 서버에 두고 URL로 재생합니다

패키징한 파일은 발급받은 계정으로 미디어 서버에 올리고, 플레이어에는 그 파일의 URL을 넘깁니다. 업로드 경로가 곧 운영 데이터의 기준이 됩니다.

  • URL 규칙

    경로 규칙은 오픈 전에 고정하세요

    모든 Callback 보고에는 미디어 URL(mediaUrl)이 실려 옵니다. Android·iOS SDK의 마지막 재생 위치 조회도 미디어 주소를 기준으로 합니다. 오픈 뒤 경로를 바꾸면 진도와 이어보기 기록을 다시 맞춰야 하니, 강좌·차시 번호가 드러나는 규칙을 먼저 정하세요.

  • CDNetworks

    CDNetworks 고객사는 전용 도메인을 씁니다

    Agent 스크립트와 커스텀 페이지용 서비스 스크립트를 pnp-appdn.cdnetworks.com 도메인에서 불러옵니다. CDNetworks 고객사용 샘플 프로젝트가 따로 있고, 서버 사이드 샘플도 받을 수 있습니다.

  • 자막

    자막 파일은 영상과 따로 올립니다

    자막은 영상과 별도의 URL로 지정합니다. 영상과 같은 폴더 규칙, 같은 파일 이름으로 올려 두면 등록 단계에서 짝을 잘못 맞추는 실수가 줄어듭니다.

  • 원본

    원본은 별도 저장소에 보관하세요

    강의를 수정하거나 다시 패키징할 때는 원본이 필요합니다. 패키징 작업 폴더나 미디어 서버와 분리된 곳에 원본을 두고, 어떤 원본이 어떤 URL로 나갔는지 목록을 남겨 두기를 권합니다.

Playback

플랫폼마다 DRM 설정을 넣는 자리가 다릅니다

같은 패키징 파일을 PC와 모바일에서 재생합니다. 어느 환경이든 App ID와 사용자 ID로 DRM 설정을 만든다는 점은 같습니다.

환경재생 방식DRM 설정
웹 페이지agent.js를 불러와 playnplay.launch()로 PlaynPlay App 실행MediaItem의 drm 항목에 appId, userId, userData, offlineAccessPeriod
PC 커스텀 페이지PlaynPlay App 안에 연 고객사 웹 페이지에서 video 요소의 open()으로 재생웹과 같은 MediaItem 형식
Android 앱SDK 미디어 아이템에 withDrmConfiguration을 붙여 재생appId·userId 필수, userData와 오프라인 재생 기한은 선택
iOS 앱DrmConfiguration.Builder로 만든 설정을 MediaItem.Builder에 전달userData, 오프라인 재생 기한 추가 가능

웹의 오프라인 재생 기한(offlineAccessPeriod)은 초 단위입니다. 비워 두면 기한 없이, 0이면 오프라인 재생을 허용하지 않습니다. 다운로드를 열어 주는 강좌라면 등록할 때 기한을 정해 두세요. PC 재생 흐름은 PC 플랫폼, 연동 구성은 개발자 안내에 정리돼 있습니다.

Preview & Subtitles

미리보기 구간과 자막은 재생 설정으로 붙입니다

맛보기 영상이나 자막 때문에 패키징을 다시 할 필요는 없습니다. 둘 다 미디어 아이템에 지정합니다.

  • Clipping

    시작·끝 위치로 미리보기

    시작 위치와 끝 위치를 초 단위로 지정하면 그 구간만 재생합니다. 끝 위치를 비우면 미디어 끝까지입니다. 웹은 MediaItem의 clipping, iOS SDK는 ClippingConfiguration으로 설정합니다. Android SDK 문서에는 클리핑 항목이 따로 없으니, 앱 미리보기가 필요하면 적용 방법을 먼저 확인하세요.

  • 권한 구분

    미리보기 요청은 표시해서 보내세요

    클리핑은 재생 구간 설정입니다. 미리보기인지 정식 수강인지는 userData에 표시해 보내고, 고객사 서버가 접근 권한 검사에서 함께 판단하도록 설계하는 것을 권합니다.

  • Subtitles

    자막 여러 개를 함께 지정

    자막마다 URL, 언어, 표시 이름, 선택 모드(autoSelect, show, hidden)를 넣습니다. Android SDK 문서는 SMI, SRT, WebVTT 형식을 명시합니다. 2026년 7월부터 Android·iOS SDK는 다운로드할 때 자막도 함께 저장합니다.

Android SDK 변경 이력에는 2024년 8월 "파일 이름 기반 자막 자동 추가"가 있습니다. 세부 규칙은 문서에 없으므로 자막 파일 이름 규칙을 정하기 전에 확인하세요.

Workflow

수급에서 검수까지 다섯 단계로 돌립니다

강의 한 편이 서비스에 올라가기까지의 순서입니다. 단계마다 다음 담당자에게 넘길 결과물을 정해 두면 누락이 줄어듭니다.

  1. 수급

    원본 영상과 자막 파일을 받습니다. 파일 이름에 강좌·차시 번호를 넣고, 패키징 대상인지 일반 파일 대상인지 이 단계에서 표시합니다.

  2. 패키징

    강좌 폴더 단위로 ndrm-pkg를 실행합니다. 원본 파일 수와 출력 폴더의 파일 수가 같은지 비교해 빠진 파일을 찾습니다.

  3. 업로드

    패키징한 파일과 자막을 미디어 서버의 정해진 경로에 올립니다. 이 경로가 콜백에 찍히는 미디어 URL이 됩니다.

  4. 등록

    LMS나 앱의 강의 정보에 미디어 URL, 제목, 썸네일, 자막, 미리보기 구간을 넣습니다. 의무 교육 영상은 탐색 허용(seekable)과 배속 금지(disablePlaybackRate)도 여기서 정합니다.

  5. 검수

    테스트 계정으로 PC와 모바일에서 재생합니다. 고객사 서버에 접근 권한 검사와 재생 상태 보고(Started, Stopped)가 들어왔는지, 자막과 미리보기 구간이 맞는지 확인합니다.

Checklist

콘텐츠 운영 체크리스트

새 콘텐츠를 올릴 때마다 아래 항목을 확인하세요. 담당자가 바뀌어도 같은 기준으로 검수할 수 있습니다.

  • 패키징 전

    • ndrm-pkg와 ndrmconfig가 같은 폴더에 있는가
    • 작업 PC·서버의 OS와 CPU에 맞는 빌드인가
    • 패키징 대상과 일반 파일 대상을 나눴는가
    • 출력 폴더가 원본과 분리돼 있는가
  • 업로드·등록

    • URL이 정해 둔 경로 규칙을 따르는가
    • 자막 URL, 언어, 표시 이름을 넣었는가
    • 미리보기 시작·끝 위치(초)가 맞는가
    • 오프라인 재생 기한을 정했는가
  • 검수

    • 테스트 계정으로 PC·모바일 재생이 되는가
    • 권한 없는 계정은 거절되는가
    • 다운로드 상태 보고(Started, Completed)가 오는가
    • 다운로드한 영상에 자막이 함께 저장됐는가

보안 구조는 콘텐츠 보안, 낯선 용어는 용어집에서 확인하세요. 레거시 플레이어의 영상을 옮기는 경우라면 레거시 전환 가이드를 함께 보세요.

Get Started

PlaynPlay 도입을 위한
기술적 지원과 서비스를 제공합니다.

제품 문의부터 데모 시연까지, 모든 지원을 위해 세일즈 및 기술 지원 팀이 준비되어 있습니다.

  • 제품 및 도입 문의

    도입 범위, 일정, 견적을 상담합니다. 서비스 형태와 사용자 규모를 알려주시면 맞는 연동 방식과 보안 설정을 제안합니다.

  • Trial 신청

    PlaynPlay의 기능을 먼저 테스트해 보세요. 트라이얼 기간 동안 귀사의 제품과 PlaynPlay를 연동하고 성능과 기능을 직접 검증할 수 있습니다.

  • PlaynPlay 기술 문의

    SDK 연동, Callback URL 설계, DRM 패키징 중에 생기는 질문에 기술팀이 답합니다. 공개된 개발 문서와 샘플 프로젝트도 함께 확인하세요.