PlaynPlay
PlaynPlay

미리보기 구간 재생

원본 한 편으로
맛보기와 하이라이트를 만듭니다

클리핑은 재생할 미디어 정보에 시작 위치와 끝 위치를 적어 그 구간만 재생하게 하는 설정입니다. Agent(PlaynPlay App 실행)와 iOS SDK 문서에 설정 방법이 있습니다. 미리보기용 파일을 새로 자르지 않아도 되지만, 판매 경계로 쓸 때는 서버 쪽 권한 판단을 함께 설계하기를 권합니다.

최종 수정

미리보기 구간 재생을 표현한 PlaynPlay 일러스트
Clipping

설정은 시작과 끝, 두 값입니다

시작 시간은 반드시 넣고 끝 시간은 비워 둘 수 있습니다. iOS 문서는 끝 시간을 지정하지 않으면 미디어의 끝으로 정한다고 적고 있습니다.

항목Agent (PlaynPlay App)iOS SDK
넣는 곳playnplay.launch()에 넘기는 MediaItem의 clippingMediaItem.Builder의 clippingConfiguration(_)
시작startTime (숫자)startTime (Duration, 필수, 초)
끝endTime (숫자 또는 null)endTime (Duration, 선택, 비우면 미디어 끝)
값 읽기—MediaItem.clippingConfiguration. MediaItem 속성은 Agent에서 설정한 값도 가져옵니다
문서 반영Agent 설정 문서의 MediaItem 항목2025년 1월 23일 SDK에 미디어 클리핑 설정 추가

Agent 문서는 clipping 값의 단위를 따로 적지 않았습니다. 같은 문서에서 시작 시간(StartTime)과 북마크 위치는 초 단위로 적혀 있으니, 연동 시험 첫날 단위부터 확인하기를 권합니다.

Time Ranges

구간 설정 예시

30분짜리 강의 한 편을 기준으로 잡은 예시 숫자입니다. 값은 초로 적었습니다.

목적startTimeendTime학습자가 보는 범위
맛보기0180처음 3분
본론부터 맛보기1204202:00~7:00, 인사말과 목차 안내를 건너뛴 5분
하이라이트900108015:00~18:00
후반부 복습1200비움20:00부터 끝까지
1부·2부 나누기0 / 900900 / 비움같은 원본을 두 차시로 운영

비슷해 보이는 설정과 구분하세요. 시작 시간(startTime)은 재생을 시작할 위치만 정하고 나머지 구간도 볼 수 있게 둡니다. 구간 반복(repeatRange)은 재생 중에 학습자나 앱이 거는 반복입니다. 클리핑은 재생을 열 때 볼 수 있는 범위 자체를 정합니다.

Use Cases

미리보기·맛보기·하이라이트 활용

아래는 운영 방식 제안입니다. 서비스의 판매 정책과 수강 규정에 맞게 골라 쓰세요.

  • Preview

    강좌 소개 페이지 미리보기

    소개 페이지의 재생 버튼에 앞부분 몇 분만 겁니다. 결제 전에 강사의 설명 방식과 화면 구성을 직접 보게 할 수 있습니다. 구매 버튼은 재생 영역 바로 옆에 두기를 권합니다.

    학원·강의 판매 사례 보기
  • Sample Lesson

    커리큘럼 맛보기 차시

    목차에서 1차시 일부만 열어 둡니다. 원본이 같으므로 결제한 수강생에게는 같은 URL을 clipping 없이 열면 됩니다.

  • Highlight

    특강·세미나 하이라이트

    긴 녹화본에서 핵심 장면만 골라 홍보 페이지나 사내 공지에 붙입니다. 장면을 바꾸고 싶으면 숫자 두 개만 고칩니다.

    유료 영상 서비스 사례 보기
  • Review

    시험 전 복습 구간

    복습 페이지에 강의별 핵심 구간만 모아 둡니다. 학습자는 처음부터 다시 돌려 볼 필요 없이 필요한 부분만 봅니다.

  • Orientation

    사내 필수 교육 사전 안내

    교육 공지 페이지에 첫 강의의 도입부만 걸어 두면, 직원이 수강 신청 전에 과정 분위기와 분량을 가늠할 수 있습니다.

    기업 교육 사례 보기
  • B2B Demo

    기관 영업용 샘플 계정

    콘텐츠를 기관에 판매할 때 구매 담당자 계정에는 강좌마다 앞부분만 열어 줍니다. 전체 파일을 넘기지 않고 샘플을 보여 줄 수 있습니다.

Clipping vs Re-encoding

편집본을 따로 만드는 방식과 비교

미리보기를 별도 파일로 잘라 올리는 방식과 운영 부담을 나란히 놓았습니다. 마지막 두 줄은 권한 설계와 연결되니 다음 단락까지 보고 고르세요.

비교 항목편집본 파일클리핑 설정
준비 작업구간마다 잘라 인코딩한 뒤 DRM 패키징(ndrm-pkg)과 업로드를 다시 합니다재생 정보에 시작·끝 값을 적습니다
구간 변경파일을 다시 만들어 교체숫자만 수정
저장 공간편집본 수만큼 늘어남원본 하나
재생 URL편집본마다 따로 관리원본과 같은 URL
권한 구분URL이 달라 서버가 구분하기 쉬움URL이 같아 서버 판단 규칙을 따로 설계
시청 기록 구분콜백의 mediaUrl만으로 미리보기 시청이 구분됨mediaUrl이 같아 userData 표시로 구분
재생 환경플랫폼과 관계없이 같은 파일문서상 Agent와 iOS SDK에서 설정

플랫폼별 문서 기재 여부는 플랫폼 비교표, 영상 준비 작업은 콘텐츠 패키징 운영에 정리했습니다.

Access Check

접근 권한 검사와 함께 설계합니다

clipping 값은 웹 페이지나 앱이 재생을 열 때 넣는 정보입니다. 미리보기를 유료 구간과 무료 구간의 경계로 쓴다면 아래 순서로 서버 판단을 함께 두기를 권합니다.

  1. 수강 상태로 실행 정보 결정

    고객사 서버가 회원의 결제·수강 상태를 확인하고, 미수강자에게만 clipping을 넣은 MediaItem을 내려 줍니다. userData에 미리보기 여부를 실어 두면 콜백 기록을 나눠 보기 쉽습니다.

  2. 라이선스 발급 때 판단

    접근 권한 검사(CheckAccessRights)에는 mediaUrl, userId, userData, offline 값이 실려 오고, 서버는 Ok, Expired, NoRights, DeviceLimitExceeded 중 하나로 답합니다. 판단 근거는 웹 페이지가 보낸 값보다 서버의 회원·결제 기록에 두는 편이 안전합니다.

  3. 미리보기는 다운로드 제외

    Agent 설정에서 offlineAccessPeriod를 0으로 두면 오프라인 재생 권한 없이 열립니다. 다운로드 콘텐츠 요청은 offline이 true로 오므로, 미수강자의 이런 요청에는 NoRights로 답하는 규칙도 둘 수 있습니다.

  4. 재생 중 위치 확인

    재생 진행 상태 보고(NotifyPlaybackProgress)에는 현재 위치가 밀리초로 실립니다. 위치가 미리보기 끝을 넘으면 PlaybackLimitExceeded로 답하는 설계를 검토할 수 있고, 이때 재생 제한 초과 오류로 처리됩니다. 보고는 콘솔에서 정한 주기로 오므로 그 간격만큼의 차이는 감안합니다.

  5. 결제 뒤 전체 재생

    결제가 끝나면 같은 URL을 clipping 없이 열고, 접근 권한 검사에는 Ok와 만료 일시(expiresOn)를 함께 돌려줍니다.

응답 규칙은 접근 제어 가이드, 재생이 막혔을 때의 안내 문구는 오류 대응 가이드에서 이어집니다.

Launch Test

미리보기를 열기 전 시험 항목

문서가 정하지 않은 동작은 시험으로 확인해 기획에 반영합니다. 시험 계정은 미수강자, 수강자 두 종류를 준비하세요.

시험 항목확인할 내용기록할 곳
시작·끝 위치지정한 초에서 시작하고 끝나는지, 단위가 맞는지구간 설정표
끝난 뒤 화면마지막 장면에서 멈추는지, 플레이어가 닫히는지결제 안내 기획서
범위 밖 이동타임바를 구간 밖으로 끌 때의 반응수강 안내 문구
다운로드 시도미수강자 계정에서 다운로드가 거절되는지접근 권한 검사 응답 규칙
콜백 기록진행·종료 보고의 userData에 미리보기 표시가 실리는지진도 계산 로직
결제 뒤 첫 재생같은 URL이라 미리보기 때 멈춘 위치에서 이어지는지, 처음부터 시작하는지시작 위치 정책

결제 뒤 첫 재생 위치를 정해 두고 싶다면 Agent는 MediaItem의 startTime을, iOS 앱은 seekTo(mediaItemIndex:position:)에 위치를 넘기는 방법이 문서에 있습니다. iOS 앱은 MediaItem.clippingConfiguration 값이 있을 때 화면에 미리보기 표시를 띄우는 식으로도 쓸 수 있습니다.

미리보기 구간 FAQ

  • 구간 끝에 닿으면 화면이 어떻게 되나요?

    문서에 적힌 내용은 미디어 항목을 정한 시작·끝 위치로 잘라낸다는 것까지입니다. 끝난 뒤의 화면과 결제 안내를 어디에 둘지는 시험 재생으로 동작을 확인한 다음 기획하기를 권합니다. iOS 앱이라면 재생 종료 이벤트(playbackFinish)에 안내 화면을 연결하는 방식을 검토할 수 있습니다.

  • 미리보기 시청도 진도 보고에 들어오나요?

    Callback URL 보고는 재생할 때마다 같은 형식으로 들어옵니다. userData에 미리보기 표시를 넣고, 진도 계산에서 그 세션을 빼는 규칙을 서버에 두세요. 계산 방식은 진도 데이터 설계에 있습니다.

  • 탐색 제한이나 배속 제한과 함께 쓸 수 있나요?

    세 설정 모두 MediaItem에 들어가는 항목이라 한 번에 지정합니다. Agent는 clipping, seekable, disablePlaybackRate를, iOS SDK는 MediaItem.Builder의 clippingConfiguration, seekable, disablePlaybackRate 메서드를 씁니다. 맛보기에서 건너뛰기를 막을지는 과정 성격에 따라 정합니다. 규칙 조합은 재생 정책을 참고하세요.

  • 강좌가 수백 개면 구간 값은 어디서 관리하나요?

    콘텐츠 관리 화면이나 LMS 데이터베이스에 영상별 미리보기 시작·끝 값을 칸으로 두고, 재생을 열 때 그 값을 MediaItem에 넣는 구성을 권합니다. 구간을 고칠 때 파일 업로드 없이 값만 바꾸면 됩니다.

  • 미리보기를 본 회원을 영업에 활용할 수 있나요?

    재생 종료 보고(NotifyPlaybackFinish)에는 사용자 아이디, 마지막 위치, 종료 원인이 실립니다. 미리보기를 끝까지 본 회원을 골라 수강 안내를 보내는 식으로 쓸 수 있습니다. 개인정보 활용 동의 범위는 먼저 확인하세요.

  • 미리보기 영상도 DRM 패키징이 필요한가요?

    클리핑은 원본 파일을 그대로 재생하므로, 원본을 DRM 패키징해 두었다면 미리보기도 그 파일로 재생됩니다. 미리보기를 위해 별도 패키징 작업을 추가할 필요는 없습니다.

Get Started

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

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

  • 제품 및 도입 문의

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

  • Trial 신청

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

  • PlaynPlay 기술 문의

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