시나리오: 콘텐츠 임대
임대 콘텐츠의 경우 콘텐츠에 대해 제공되는 라이선스는 만료 날짜 및 시간을 지정합니다. 이 날짜와 시간이 지나면 콘텐츠가 여전히 사용자의 디바이스에 있을 수 있으며 라이선스도 사용자의 디바이스 데이터 저장소에 유지될 수 있지만 사용자의 디바이스에 있는 PlayReady 클라이언트는 디바이스의 시계 시스템을 사용하여 라이선스가 여전히 유효한지 확인하고 라이선스의 서비스에서 설정한 만료를 적용합니다.
또한 시작 날짜 및 시간(일반적으로 사용자가 콘텐츠에 대해 지불한 날짜 및 시간)을 설정하는 것이 좋습니다. 이렇게 하면 사용자가 디바이스의 시계를 롤백할 수 있는 경우에 시스템을 보호하는 데 도움이 됩니다.
대안은 서비스가 첫 번째 플레이 후 라이선스가 만료되는 시기를 나타내는 시간 범위 측면에서 라이선스에 제한을 제공하는 것입니다. 이렇게 하면 서비스 공급자가 나중에 시작하거나, 지정된 시간에 만료되거나, 콘텐츠가 처음 재생된 후 지정된 기간 후에 만료될 수 있는 라이선스를 발급할 수 있습니다.
일반적인 예는 다음과 같습니다.
사용자는 2018년 1월 5일 금요일 오후 8시에 콘텐츠를 임대합니다.
사용자에게 제공되는 라이선스에는 다음과 같은 제한 사항이 포함됩니다.
오른쪽 - 재생(화면에서 렌더링할 콘텐츠의 암호를 해독할 수 있는 권한)
시작 시간 — 2018년 1월 5일 오후 7시 55분(클라이언트와 서버 간의 사소한 클록 차이를 고려하기 위해 시작 시간이 약간 과거임)
만료 시간 — 2018년 2월 5일 오후 8:00(한 달 후)
첫 번째 플레이 후 만료 - 48시간(사용자가 플레이하기 시작한 후 2일)
일반적으로 임대 콘텐츠에는 시작 및 만료 시간이 필요하므로 클라이언트는 일부 유형의 PlayReady 신뢰할 수 있는 시계를 지원해야 합니다. 자세한 내용은 신뢰할 수 있는 시계를 참조하세요.
다음 그림은 임대 콘텐츠 시나리오에서 클라이언트와 서버 간의 상호 작용을 나타냅니다.
렌탈 콘텐츠 시나리오는 그림과 같이 다음 단계를 수행합니다.
클라이언트에 배포되는 콘텐츠는 Microsoft PlayReady 기술로 보호됩니다.
서비스 공급자는 콘텐츠 보호 정보를 라이선스 서버로 전송합니다.
서비스 공급자는 웹을 통해 배포하기 위해 보호된 콘텐츠를 서버로 전송합니다.
클라이언트는 스트리밍 또는 다운로드를 위한 콘텐츠를 요청합니다.
클라이언트는 라이선스를 획득하고 SSTP, DASH, HLS 또는 HTTP와 같은 인터넷 프로토콜을 사용하여 콘텐츠 서버에서 콘텐츠 스트리밍 또는 다운로드를 시작합니다. 클라이언트가 콘텐츠를 스트리밍하거나 다운로드하는 동안 콘텐츠의 암호를 해독할 수 있으며 암호 해독된 콘텐츠를 계속 재생할 수 있습니다.
콘텐츠 대여를 위한 가장 일반적인 배달 메커니즘은 웹 서비스에서 보호된 콘텐츠를 스트리밍하거나 콘텐츠를 로컬 디바이스에 다운로드한 다음 콘텐츠를 재생하는 것입니다.
스트리밍 임대 콘텐츠
임대 미디어를 스트리밍할 때 콘텐츠는 웹 서버에서 전송되는 동안 계속 재생됩니다. 사용자 디바이스로 스트리밍되는 임대 콘텐츠를 구현할 때는 다음과 같은 기술적 측면을 고려해야 합니다.
PlayReady는 다양한 종류의 프로토콜을 지원합니다. 프로토콜에 대한 제한은 없습니다. 그러나 PlayReady 클라이언트는 일반적으로 SSTP(부드러운 스트리밍), DASH(HTTP를 통한 동적 적응 스트리밍), HLS(HTTP 라이브 스트리밍) 표준 중 하나 이상을 지원합니다. 이러한 프로토콜 외에도 백 엔드와 클라이언트를 모두 제어하는 서비스에서 다른 프로토콜(예: 닫힌 네트워크의 멀티캐스트 TS)을 구현하는 것은 완벽하게 허용되며 수행할 수 있습니다.
콘텐츠 형식은 일반적으로 H264 + AAC 또는 H265 + AAC이지만 다른 모든 코덱은 PlayReady에서 허용됩니다.
스트리밍 임대 콘텐츠는 영구 또는 비영구 라이선스를 사용할 수 있습니다.
가장 명백한 경우는 비영구 라이선스입니다. 비영구 라이선스는 RAM(휘발성 메모리)에 저장되며 현재 세션 동안만 지속됩니다. 비영구 라이선스는 스트리밍 시나리오에 잘 적응되어 있습니다. 스트리밍의 경우 디바이스는 어쨌든 연결되어야 하며 재생 시 비영구 라이선스를 적시에 획득할 수 있기 때문입니다.
사전 취득된 비영구 라이선스는 첫 번째 프레임까지의 시간도 단축합니다. 자세한 내용은 라이선스 생성 및 발급을 참조하세요.
임대 콘텐츠를 스트리밍할 때 첫 번째 프레임 시간을 최적화하는 또 다른 방법은 "PlayReady 제한된 기간 라이선스"를 활용하는 것입니다. 사용자에게 선택할 비디오 목록이 포함된 페이지가 표시되지만 매우 짧은 기간의 라이선스는 백그라운드에서 미리 획득됩니다(일반적으로 30초). 이러한 라이선스에는 클라이언트가 30초 후에 이 라이선스로 재생을 중지하는 "실시간 만료" 제한이 포함됩니다. 그러면 사용자가 재생할 나열된 비디오 중 하나를 선택할 수 있습니다. 이때 재생을 즉시 시작할 수 있습니다. 플레이어는 사용자가 선택한 비디오에 대해 전체 대여 라이선스(48시간)를 요청하고, 플레이어는 재생 중 임대 라이선스에 원활하게 바인딩합니다. 이 최적화는 실시간 만료 및 비영구 라이선스 배달을 일괄 처리로 지원하는 PlayReady 버전 3.0 이상 클라이언트에서 가능합니다.
스트리밍 시나리오에도 영구 라이선스를 사용할 수 있습니다. 영구 라이선스는 비휘발성 메모리(로컬 데이터 저장소)에 저장되며 저장소의 수명 동안 또는 시간 기반 제한에 도달할 때까지 지속됩니다.
대여 콘텐츠 다운로드 및 재생
재생을 시작하기 전에 임대 콘텐츠를 클라이언트에 다운로드할 수도 있습니다. 일반적으로 이 작업은 네트워크 품질과 상관 관계가 없는 콘텐츠의 지속적인 품질을 달성하기 위해 수행되지만 재생을 실제로 시작하기 전에 약간의 지연이 필요할 수 있습니다.
다운로드 및 재생되는 임대 콘텐츠를 구현할 때는 다음과 같은 기술적 측면을 고려해야 합니다.
콘텐츠가 이미 디바이스에 적합한 형식으로 작성된 경우 HTTP를 통해 콘텐츠를 간단한 파일로 다운로드할 수 있습니다. 또 다른 옵션은 클라이언트가 스트리밍 프로토콜(SSTP, DASH, HLS, 기타)을 통해 적응 스트리밍 자산의 연속 세그먼트를 검색하고 단일 분할된 파일 또는 세그먼트 파일 컬렉션의 형태로 추가 재생을 위해 디바이스의 로컬 스토리지에 모두 압축하는 것입니다. 후자는 클라이언트가 기본 설정에 따라 다른 트랙을 선택할 수 있는 기능인 런타임 바인딩과 같은 보다 정교한 시나리오를 허용합니다. 예를 들어 백 엔드의 초기 콘텐츠 제작과 관계없이 여러 품질, 특정 오디오 트랙 또는 자막 트랙 중 하나의 비디오 품질을 선택합니다.
대여 콘텐츠를 다운로드하고 재생하면 영구 라이선스 또는 비영구 라이선스를 사용할 수도 있습니다. 일반적으로 미리 배달 영구 라이선스를 사용하는 것이 좋습니다.
영구 라이선스를 사용하는 경우 디바이스는 만료 후 데이터 저장소에서 라이선스를 제거해야 하는 경우가 있습니다.
만료 날짜를 포함하는 모든 영구 라이선스와 마찬가지로 디바이스의 신뢰할 수 있는 시계 시스템에 대한 일부 사용자 공격을 방지하는 데 도움이 되는 시작 날짜도 포함해야 합니다.