PallyCon Widevine 안드로이드 SDK 튜토리얼

[PallyCon Widevine 안드로이드 SDK 동영상 튜토리얼] 이 동영상은 안드로이드용 동영상 서비스 앱 개발자를 대상으로 하는 SDK 튜토리얼입니다 Widevine DRM으로 보호된 동영상을 재생하기위해 필요한 PallyCon Widevine Android SDK의 샘플 프로젝트 사용법을 설명합니다

우선 PallyCon 콘솔 사이트에서 다운받은 SDK 파일을 압축 해제합니다 SDK의 'Sample' 폴더에는 'Simple' 버전과 'Advanced' 버전의 샘플 프로젝트가 있습니다 이 동영상 튜토리얼에서는 SDK의 기본 기능을 간단하게 실행해 볼 수 있는 Simple 버전을 사용합니다 Android Studio를 실행해 Simple 프로젝트를 오픈합니다 Gradle 플러그인의 업데이트 알림 창이 표시되면, '이 프로젝트에 대해서는 알리지 않음'을 선택합니다

Simple 프로젝트는 MainActivityjava 소스에서 SDK 설정과 동영상 플레이어 처리를 모두 구현합니다 튜토리얼에서는 ExoPlayer 관련 기본 샘플 코드에 PallyCon DRM 콘텐츠 재생에 필요한 코드를 단계적으로 추가합니다 실제 다운로드 받으시는 SDK에는 튜토리얼 최종 단계에서 완성되는 전체 샘플 코드가 포함되어 있습니다 Simple 버전 샘플 프로젝트에서는 MainActivity

java 소스의 initializePlayer() 함수에서 모든 연동 작업이 구현됩니다 initializePlayer() 함수에 코드를 추가하기 전에, 먼저 Gradle 빌드 스크립트에서 Module:app 세팅을 확인합니다 샘플 프로젝트에는 PallyCon DRM 라이브러리와 ExoPlayer 라이브러리를 사용하기 위한 세팅이 적용되어 있습니다 실제 개발하실 서비스 앱에도 동일하게 라이브러리 빌드 세팅이 적용되어야 합니다 이제 다시 MainActivity

java 소스로 돌아가서 연동 구현을 해보겠습니다 initializePlayer() 함수에 적용되는 코드는 크게 세 가지 부분으로 이루어집니다 1단계에서는 PallyCon Widevine 라이브러리를 초기화하면서 각종 연동 설정값을 입력합니다 샘플 코드에는 기본적으로 데모용 사이트ID와 사이트키 정보가 입력되어 있습니다 실제 고객사의 서비스를 연동하기 위해서는 PallyCon 서비스 가입 후 콘솔 사이트에서 확인한 값들을 입력하셔야 합니다

PallyConEventListener는 Widevine DRM과 관련하여 발생하는 각종 이벤트를 처리하는 함수입니다 해당 이벤트 리스너 함수를 다음과 같이 MainActivity 소스에 추가합니다 2단계에서는 재생할 DRM 콘텐츠의 정보를 설정합니다 사이트 정보와 마찬가지로, 기본적으로 데모용 콘텐츠 정보가 샘플 코드에 적용되어 있습니다 데모 콘텐츠 외에 다른 콘텐츠를 테스트하려면 우선 패키져 연동을 통해 별도로 패키징된 콘텐츠가 준비되어야 합니다

별도의 콘텐츠 패키징 과정을 통해 준비된 DRM 콘텐츠 정보(DASH 스트림 URL)를 Uri로 입력합니다 CID는 패키징 작업 시 입력된 해당 콘텐츠의 고유 ID 값이며, PallyCon 콘솔 사이트의 패키징 이력 페이지에서 확인할 수 있습니다 userID는 동영상 서비스의 최종 사용자에 대하여 서비스 사이트가 관리하는 고유 ID 값입니다 콜백 페이지 또는 토큰과 같은 DRM 라이선스 연동을 통해 재생 권한이 주어진 사용자 ID를 입력합니다 그 외의 설정값들은 본 튜토리얼에서는 기본값 그대로 사용하겠습니다

마지막 3단계에서는 DRM 세션 매니저를 추가합니다 DRM 라이브러리의 createDrmSessionManager 함수를 호출하여 세션 매니저를 생성하며, 함수 인자는 2단계의 각종 설정값들로 입력합니다 해당 함수의 마지막 인자는 라이브 스트림 재생 시 사용되는 값으로, 샘플 영상과 같은 VOD 콘텐츠에 대해서는 false를 입력합니다 마지막으로 미디어소스 객체에 재생할 콘텐츠의 Uri를 입력합니다 여기까지 설정이 되었으면 앱을 빌드해 콘텐츠 재생을 확인해 보겠습니다

에뮬레이터에서는 DRM 콘텐츠 재생이 불가능하므로 실제 기기를 연결해 테스트를 진행해야 합니다 연결된 기기에서 샘플 앱을 실행하면, 소스 코드에 입력한 DRM 콘텐츠에 대한 라이선스 요청이 이루어진 후 콘텐츠가 재생됩니다 이상으로 PallyCon Widevine Android SDK에 대한 튜토리얼을 마치겠습니다 추가 정보는 영상 소개의 링크를 참고하시기 바랍니다