멀티 DRM 릴리즈 노트

PallyCon 멀티 DRM 서비스의 각 제품 별 릴리즈 노트입니다.

서버 제품군

DRM 라이선스 서버

날짜 버전 내용
2024.04.03 5.5.1 - 블랙리스트 API를 통한 사용자 또는 기기 차단 기능이 추가되었습니다.
- 클라이언트 환경에 따라 CSL 적용 예외 처리를 할 수 있도록 라이선스 토큰 규격이 업데이트되었습니다.
2023.12.12 5.4.0 - 마이크로서비스 아키텍쳐를 적용해 라이선스 서버의 성능과 확장성을 개선하였습니다.
2023.11.07 5.3.0 - Widevine L3 취약점을 보완할 수 있는 라이선스 사이퍼 SDK에 대한 지원이 추가되었습니다.
- Widevine License Server SDK을 최신 버전인 18.1.2로 업데이트하였습니다.
2023.07.26 5.2.0 - CSL 기능 적용 시, 라이선스 리뉴얼이 지원되지 않는 애플 에어플레이 스트리밍 재생은 적용 대상에서 제외되도록 개선하였습니다.
- FairPlay 외부 키 설정과 관련된 오류를 수정하였습니다.
2023.06.14 5.1.0 - CSL(동시 재생 수 제한) 기능 적용 시 최대 동시 재생 수 초과로 인한 라이선스 에러 메시지에 현재 재생 중인 기기 목록을 표시하는 기능을 추가하였습니다.
- FairPlay 라이선스 발급 시 외부 IV 값 적용이 가능하도록 개선하였습니다.
- FairPlay DRM에 대하여 외부 키 방식으로 멀티키 라이선스 요청이 안되던 오류를 수정하였습니다.
2023.05.09 5.0.0 - Widevine 라이선스 발급 기능이 기존의 Proxy 연동 방식에서 License Server SDK 방식으로 변경되었습니다.
- 라이선스 로그 데이터 처리 개선을 위해 데이터베이스 연동을 최적화하였습니다.
- CSL(Concurrent Stream Limiting) 기능 사용 시, 최종 사용자의 요금제에 따라 최대 동시 재생 수를 설정할 수 있도록 라이선스 토큰에 해당 설정 값을 추가하였습니다.
2023.01.26 4.16.3 - CSL 기능 사용 시 크롬 브라우저 사용 시나리오에서 2105 에러가 발생하는 문제를 수정하였습니다. (여러 탭 또는 창에서 동일 서비스 이용 시)
- FairPlay DRM의 Airplay 제어와 관련된 라이선스 토큰 정책의 오류를 수정하였습니다.
2022.11.16 4.16.1 - 오프라인 라이선스의 유효기간 지정 시, DRM별 License Duration 최대값 지정 및 체크 로직이 추가되었습니다. 최대값 이상의 duration이 토큰 policy로 입력된 경우, 각 DRM 별 최대값이 라이선스에 적용됩니다.
- Fairplay : 최대 4294967295 초 (약136년)
- PlayReady: 최대 2522880000 초 (약 80년)
- Widevine : 최대 2147483647 초 (약 68년)

- CSL(Concurrent Stream Limiting) 기능과 관련하여 안드로이드 기기를 대상으로 한 동시 재생 카운트 오류를 수정하였습니다.
2022.10.18 4.16.0 - PlayReady 관련 에러 메시지 처리를 개선하였습니다.
- 서버 성능 개선을 위해 NCG getServerInfo API 처리를 Java로 변환하였습니다.
- Widevine의 provider_token 규격을 이용해 데스크탑 크롬에도 고유한 기기 ID를 적용합니다. (CSL 기능 사용 시 정확한 ‘동시 재생 수’ 처리 가능)
- 기타 각종 버그 수정 및 처리 개선 사항들이 적용되었습니다.
2022.09.20 4.15.2 - 대용량 라이선스 서비스 지원을 위해 DRM 관련 로그 데이터 처리 성능을 개선하였습니다.
2022.08.03 4.15.1 - CSL 기능과 관련해 Widevine can_renew policy 처리를 개선하였습니다.
2022.07.13 4.15.0 - 과도한 계정 공유를 방지할 수 있는 ‘동시 재생 제한’(Concurrent Stream Limiting, CSL) 기능을 지원합니다.
- NCG DRM에 대한 Token Proxy 연동을 지원합니다.
2022.05.24 4.14.0 - 라이브 스트림의 DRM 키 로테이션과 관련해 트라이얼 및 상용 요금제에 따른 키 로테이션 지원 제어 기능이 추가되었습니다.
- Widevine DRM의 override_device_revocation 정책에 대한 기본값을 ‘false’로 변경하였습니다. 보안 취약성으로 인해 지원 중단(revoked)된 안드로이드 기기에 대한 DRM 라이선스 발급을 허용하려면 라이선스 토큰의 해당 Policy 값을 ‘true’로 설정해야 합니다.
- FairPlay DRM의 라이선스 요청을 처리할 때 AssetID 파싱 처리를 개선하였습니다. (7308 에러코드 발생 방지)
2022.02.09 4.13.1 - 해킹으로 변조된 구버전 크롬 Widevine CDM에 대해서 라이선스 발급이 되지 않도록 라이선스 서버를 업데이트 하였습니다. 해당 클라이언트에서의 Widevine 라이선스 요청은 7116 에러 코드와 함께 발급 실패 처리됩니다.
2022.01.12 4.13.0 - PlayReady Server SDK가 4.4로 버전업 되었습니다.
- CBCS로 암호화된 CMAF 단일 콘텐츠를 윈도우 엣지 환경에서도 재생할 수 있게 SL2000 환경에 대한 PlayReady CBCS 라이선스 발급을 지원합니다.
2021.10.26 4.12.0 - 라이선스 서버의 응답 성능이 개선되었습니다.
2021.10.19 4.11.0 - 토큰 방식 라이선스 요청 시 응답 데이터 유형으로 json이 추가되었습니다.
2021.06.09 4.10.2 - Widevine persistent 라이선스와 관련된 버그가 수정되었습니다.
2021.05.25 4.10.1 - FairPlay 멀티키 라이선스와 관련된 버그가 수정되었습니다.
2021.05.06 4.10.0 - DRM 패키징 이력 정보에 대한 처리가 개선되었습니다.
- 토큰을 이용한 DRM 라이선스 요청 시, 고객 측 서버와의 시간차로 인한 오류(7011 에러)를 줄이기 위해 토큰 유효시간 체크 로직을 개선하였습니다.
2021.02.23 4.9.0 - Widevine 프록시와 관련한 7115 에러 코드를 추가 (‘Widevine 지원이 영구적으로 철회된 기기입니다.")
- FairPlay 오프라인 라이선스 유효기간 정책 업데이트
– 오프라인 미지원 기기에서 무제한 오프라인 라이선스를 요청 시, 설정 가능한 최대 유효기간(duration)으로 라이선스 발급 (약 136년)
- 트라이얼 계정에 적용되던 DRM 라이선스 콜백 기본 처리를 제거
– DRM 라이선스 연동이 미완료된 상태로 상용 전환해 발생하는 오류를 방지함
- HLS 키 로테이션의 IV 로직 오류 수정
2020.10.22 4.8.0 - 키 로테이션 기능 제어를 위한 Policy 추가
- FPS iOS 10 오프라인 시나리오 적용
- Widevine override revocation 제어 policy 추가 및 Widevine proxy 통신 에러코드 추가
2020.09.07 4.7.0 - Widevine 라이선스 발급: 구글 보안 기준 미달 기기에 라이선스 발급 가능하게 패치
- 콜백 게이트웨이 Timeout 5초 -> 3초로 변경
2020.08.12 4.6.0 - 글로벌 라이선스 URL 트라이얼 체크 기능 추가
- Shaka Player 3.0 대상 라이선스 발급 지원
2020.06.03 4.5.0 - 오프라인 렌탈 시나리오 적용
2020.05.12 4.4.1 - Elastic Search 로그 누락 현상 수정
2020.04.27 4.4.0 - 멀티키 라이선스 발급 기능, Response format, License policy V2 지원 추가
2020.03.17 4.3.1 - NcgCloud 지원 제거, DB Connection 방식 수정
2020.03.05 4.3.0 - Widevine allowed_track_type 기능 추가
- 라이선스 토큰 내 ‘token’ 키에 ‘policy’도 추가로 지원
- FairPlay 오류 코드 추가
- 토큰 해시 값 체크 시 drm type 대소문자 무관하게 지원
- 라이선스 발급 시 7107, 7103 오류 중복 발생 수정 및 누락된 오류 코드 추가
- FairPlay 라이선스 발급 시 오류 수정
2019.10.22 4.2.0 - Widevine 하드웨어 DRM 설정 시 오디오 트랙은 hdcp_none, security level 1로 적용
- 트라이얼 계정에 대한 패키징 콜백 자동 처리 시 오류 수정 (파일 확장자가 없는 경우)
- 클라이언트 SDK 인증 관련 오류 수정
2019.01.15 4.1.8 - NCG 토큰 관련 오류 수정
- 클라이언트 SDK 인증 쿼리 오류 수정
2018.09.19 4.1.3 - Shaka Packager 연동을 위해 IV값을 hex 형식으로 응답하도록 수정
2018.08.09 4.1.1 - 멀티키 라이선스 발급 기능 추가 (PlayReady 제외)
- FairPlay의 경우, 패키징 시 iv 값을 사이트 당 하나로 사용
- 실시간 HLS 키 발급 조건에 CID가 있을 경우, CID 기준 발급 기능 추가
- 클라이언트 SDK 인증 기능 지원
2018.04.09 4.0.0 - 토큰 기반 라이선스 발급 시 DB 저장 없이 처리
- 키 로테이션 기능 추가. pallycon-customdata-v2 규격에 content_type:live 일 경우에 활성화 (기본값: VOD)

KMS 서버

날짜 버전 내용
2024.01.23 1.16.0 - AWS MediaPackage Live v2 서비스와의 호환성을 위해 PallyCon KMS의 SPEKE와 CPIX API URL(v2)에 키 로테이션 여부에 대한 파라미터를 추가하였습니다.
- AWS MediaPackage Live v2 서비스 지원과 관련한 버그를 수정하였습니다.
2023.11.07 1.15.0 - AWS MediaPackage Live v2 연동 시 KMS 오류 사항을 수정하였습니다.
2023.07.26 1.14.2 - 키 임포트 API에서 사용하는 데이터베이스 로직의 오류를 수정하였습니다.
2023.07.11 1.14.1 - 키 임포트 API의 트랙 타입 관련 오류를 수정하였습니다.
2023.06.14 1.14.0 - KMS 연동 시 외부 IV 값 적용이 가능하도록 개선하였습니다.
- SPEKE v1용 KMS URL에 SPEKE v2 요청이 입력되는 경우 에러 처리가 되도록 수정하였습니다.
2022.10.18 1.13.0 - AWS MediaPackage 연동 시, SPEKE v2에 추가된 각종 멀티키 패키징 프리셋을 지원합니다. (SPEKE v2 마일스톤 3)
2022.06.14 1.12.1 - 보다 안정적인 서비스를 위한 데이터베이스 패치를 적용하였습니다.
2022.03.23 1.12.0 - CMAF CBCS 암호화 지원을 위해 새로운 SPEKE v1 연동 URL을 추가하였습니다.
- SPEKE v2 연동을 통한 멀티 키 패키징 시 비디오와 오디오 트랙의 키 ID가 동일하게 지정되는 문제를 수정하였습니다.
2022.03.10 1.11.0 - CMAF CBCS 암호화 지원이 추가되었습니다. 해당 릴리즈 이후에 PallyCon KMS 연동으로 패키징된 CMAF 콘텐츠는 기존에 지원되던 클라이언트 환경 외에 윈도우즈 엣지 브라우저에서도 재생이 가능합니다.
2021.11.03 1.10.0 - CPIX 기반 KMS 연동을 통한 NCG, NCG-HLS 패키징을 지원합니다.
2021.08.24 1.9.0 - SPEKE v2 지원이 추가되어 이제 AWS Elemental MediaPackage를 통한 라이브 패키징 시 멀티키 적용이 가능합니다.
2021.07.21 1.8.1 - 하나의 AWS MediaConvert 작업으로 DASH, HLS 콘텐츠를 동시에 패키징 한 경우에 재생이 불가능하던 오류를 수정하였습니다.
2021.05.06 1.8.0 - DRM 서비스의 상태에 이상이 있는 경우, KMS URL의 응답 데이터에 해당 에러코드(1919)가 추가됩니다.
- 멀티키 패키징 이력의 저장과 관련된 이슈가 수정되었으며, DRM 패키징 이력 관리가 개선되었습니다.
2021.03.25 1.7.0 - Harmonic KMS Simple Type 연동 지원 추가 (ATEME Titan File 제품과 연동 가능)
2020.11.11 1.6.0 - PallyCon KMS V2 싱글키 지원
- Widevine response에 PSSH DATA Element 추가
2020.04.29 1.5.0 - 멀티키 패키징 지원 (KMS V2), PallyCon CPIX API에 멀티키 기능 추가(V2)
- Bitmovin Encoder SDK, PallyCon CPIX V2 연동 샘플 제공
2019.01.29 1.4.0 - PallyCon CPIX 연동 규격 추가

DRM CLI 패키져

날짜 버전 내용
2024.01.26 3.10.0 - 멀티키 콘텐츠 패키징과 관련하여 멀티 매니페스트 생성 기능을 개선하였습니다.
2022.12.26 3.9.0 - 리눅스용 빌드에 xHE-AAC 오디오 코덱 지원이 추가되었습니다.
- Ubuntu용 패키져 빌드와 도커 실행 환경을 통해 macOS 환경에서도 CLI 패키져를 구동할 수 있게 되었습니다. (인텔 맥과 애플 실리콘 모두 지원)
2022.08.25 3.8.4 - --mp4_subtitle 옵션 사용 시 출력되는 패키징 결과물에 VTT 형식 대신 TTML 형식의 자막이 적용됩니다. (자막 입력은 VTT 형식 필요)
- -i 옵션으로 원본 파일을 입력할 때 사용할 수 있는 :video_bitrate 옵션을 :video_bandwidth로 변경하였습니다.
- 기존 버전의 각종 오류를 수정하였습니다.
2022.04.07 3.8.3 - CentOS, Ubuntu 및 Windows용 별도 실행 파일을 제공합니다.
- HLS 패키징 시 KMS 통신과 관련한 버그를 수정하였습니다.
- 파라미터 입력 값의 한글 또는 공백 문자와 관련한 버그를 수정하였습니다.
2022.03.11 3.8.2 - PallyCon KMS CPIX API 통신을 통한 CMAF 패키징 기능이 추가되었습니다.
- CMAF 패키징과 DASH 또는 HLS 패키징을 별개로 처리하도록 사용 시나리오를 변경하였습니다.
2022.01.25 3.8.1 - CPIX 표준 API 기반의 DRM 암호화 키 연동을 지원합니다. 하위 호환성을 위해 기존의 독자 방식 키 연동 기능도 계속 지원합니다.
- 키 서버에서 생성한 PSSH 대신 패키저 자체 생성한 PSSH를 사용할 수 있는 옵션이 추가되었습니다.
- ABR 콘텐츠 패키징 시 Manifest 파일 내 비디오 트랙을 화질 별로 정렬할 수 있는 기능이 추가되었습니다.
- 기존 버전의 각종 버그가 수정되었습니다.
2021.09.16 3.7.0 - 자막 포함 패키징시 새로 추가된 --mp4_subtitle 파라미터를 통해 mp4 임베드 형태의 자막을 적용할 수 있습니다. 해당 파라미터를 입력하지 않은 경우에는 기본적으로 텍스트 VTT 형태 자막을 출력합니다.
- 오디오 입력 파일의 미디어 헤더에 언어 정보가 없는 경우, 패키져의 입력 값(:lang 파라미터)을 기준으로 패키징 결과물을 생성합니다.
2021.04.16 3.6.5 - DASH 패키징 시 오디오/자막 트랙 레이블 설정 기능을 추가했습니다.
2021.01.04 3.6.4 - PallyCon Client SDK에서 콘텐츠 다운로드 크기를 알 수 있도록 manifest(mpd, m3u8) 파일에 Custom Info 추가
2020.09.17 3.6.3 - DASH mpd의 각 트랙에 평균 대역폭을 적용하는 기능 추가
- 서버에서 PSSH를 전달받는 대신 패키저에서 직접 생성하도록 변경
2020.07.10 3.6.2 - CMAF(cbcs) 기능을 위해 PlayReady 헤더 4.3.0.0 버전 지원
2020.05.27 3.6.1 - HLS 패키징에 HEVC 코덱 (fMP4 컨테이너) 지원 추가
- 입력 파일 경로 파라미터 인코딩 개선
- C++14 적용을 위해 gcc 버전 변경 (v4.8.5 -> v7.3.1)
2020.04.27 3.6.0 - 트랙 별 다중 Manifest 생성 기능 추가
- 멀티 키 패키징 기능 정식 추가
- 비디오 비트레이트(대역폭) 설정 기능 추가
2020.03.06 3.5.1 - 멀티 키 패키징을 위해 해상도 (SD, HD, UHD1) 별 최대 영상 높이 (max height) 설정 기능 추가
2020.02.26 3.5.0 - DASH 패키징에 WebM 지원, HLS 트랙 (오디오, 자막) 이름 설정 기능 추가
2019.09.10 3.4.1 - Widevine 멀티키 패키징 추가, 오디오 트랙 비암호화 (skip audio encryption) 옵션 추가
2019.08.30 3.4.0 - 멀티 비트레이트 라이브 스트림 패키징 기능 추가
- PlayReady 관련 버그 수정
2019.05.08 3.3.1 - Widevine PSSH 관련 버그 수정
2019.04.26 3.3.0 - CMAF 패키징 기능 추가
2019.02.27 3.2.0 - 소스코드 리팩토링 및 버그 수정
2018.12.27 3.1.1 - 버그 수정
2018.11.30 3.1.0 - PSSH 생성 기능 추가, 패키징 진행 상황 표시, 다국어 자막 지원
2018.10.19 3.0.0 - Shaka Packager 기반으로 코어 모듈 변경

CPIX API 클라이언트

날짜 버전 내용
2024.02.07 1.2.0 - 사용자가 KMS URL에 key-rotation 및 enc-token과 같은 매개변수를 입력할 수 있도록 CpixClient 클래스의 인터페이스를 수정했습니다.
- Linux OS에서 빌드할 때 발생하는 문제를 수정했습니다.
2023.09.25 1.1.0 - 라이브 키 로테이션 지원을 추가하였습니다. (싱글 키 로테이션)
- CPIX API 응답에 대한 에러 처리를 개선하였습니다.
2023.08.08 1.0.0 - PallyCon CPIX API 클라이언트의 최초 릴리즈 버전입니다.
- C++, C#, 자바, 파이선 등 다양한 개발 언어에 대한 샘플을 제공합니다.

Wowza DRM 플러그인

날짜 버전 내용
2023.09.25 2.4.0 - 최신 버전 CPIX 클라이언트 모듈을 적용하였습니다.
2023.04.07 2.3.0 - CMAF-DASH 패키징 지원 기능을 추가하였습니다. (PlayReady, Widevine DRM 적용 가능)
2021.10.29 2.2.0 - CPIX 기반의 KMS 연동을 통한 NCG-HLS 패키징을 지원합니다.
- 텍스트 파일 기반의 매핑 테이블을 이용한 CID 설정 기능을 지원합니다.
2020.12.02 2.0.1 - KMS URL 프로퍼티 이름과 관련한 버그 수정
2020.11.25 2.0.0 - 콜백 URL 대신 CPIX API를 통해 키 서버와 연동하도록 업데이트
2018.12.06 1.2.2 - HLS 라이브 스트림에 NCG 적용 시 버그 수정
2018.06.15 1.2.0 - FairPlay Streaming 용 HLS 패키징 지원
2018.04.24 1.1.0 - 키 매니저 에러 처리과 관련한 보안 개선
2018.03.12 1.0.0 - 최초 릴리즈 버전

클라이언트 제품군

Widevine Android SDK

날짜 버전 내용
2024.01.11 4.0.0 - 이번 버전부터 본 SDK는 기존의 ExoPlayer 라이브러리 대신 미디어3 라이브러리에 기반합니다.
- 기존 ExoPlayer 는 2.19.1 버전을 마지막으로 구글 측의 지원이 중단되었습니다.
- 기존 ExoPlayer 패키지를 계속 사용하려면 PallyCon Widevine SDK v3.4.x 버전을 이용해야 합니다.
2023.12.11 3.4.6 - 라이브 콘텐츠의 라이선스 키 로테이션 기능이 제대로 작동하지 않던 문제를 수정했습니다.
2023.11.16 3.4.3 - 2.x 버전으로부터의 로컬 데이터베이스 마이그레이션 기능이 제거되었습니다.
2023.10.30 3.4.0 - Widevine L3 취약점을 보완할 수 있는 라이선스 사이퍼 SDK에 대한 지원이 추가되었습니다.
- 기존 2.x 버전에서 지원되던 부가 시나리오에 대한 지원이 추가되었습니다.
- DownloadService에서 발생하던 알림 메시지를 제거하였습니다.
- 크롬캐스트 지원과 관련한 문제를 수정하였습니다.
2023.05.23 3.3.0 - DRM 라이선스 획득을 위해 HTTP 요청/응답을 수행할 때 애플리케이션에서 커스텀 HTTP 헤더 및 바디 데이터(챌린지) 암호화를 적용할 수 있는 콜백 기능이 추가되었습니다.
- 특정 안드로이드 기기에서 와이드바인 오류를 공장 초기화 없이 해결할 수 있는 기기 재프로비저닝(re-provisioning) 기능이 추가되었습니다.
2023.03.10 3.2.0 - Widevine HLS 콘텐츠에 대한 지원이 추가되었습니다.
- Non-DRM 콘텐츠에 대한 다운로드 기능이 추가되었습니다.
2022.12.20 3.1.0 - 구 버전 SDK (v2.x)를 통해 다운로드된 오프라인 라이선스에 대한 데이터 이전 기능(migrateDB() 함수)을 추가하였습니다.
- v2.x SDK를 사용하는 고객은 라이선스 데이터 이전 프로세스를 클라이언트 앱에 적용해야 합니다.
2022.11.18 3.0.0 - Android ExoPlayer의 콘텐츠 다운로드 및 DRM 라이선스 관리 기능을 기반으로 다운로드/오프라인 시나리오를 지원하도록 SDK 아키텍처를 업데이트했습니다.
- ExoPlayer v2.18.1을 지원합니다.
2022.03.31 2.4.0 - ExoPlayer 2.16.1 버전을 지원합니다.
- 일부 안드로이드 기기에서 발생하는 호환성 문제를 해결하기 위해 Widevine Security Level을 L3로 강제 지정할 수 있는 기능이 추가되었습니다.
- 각종 오류 사항들을 수정하였습니다.
2021.12.13 2.3.1 - 이전 버전에서 불필요하게 추가되었던 MANAGE_EXTERNAL_STORAGE 권한이 제거되었습니다.
2021.11.17 2.3.0 - ExoPlayer 2.14.2 버전을 지원합니다.
2021.10.21 2.2.0 - provideForceProvisionRequest() 함수가 추가되었습니다.
해당 함수는 특정 기기에서 Widevine DRM 프로비져닝 오류로 인해 ‘Failed to restore keys: General DRM error (-2000)‘와 같은 에러가 발생할 때 사용할 수 있습니다.
자세한 사항은 SDK에 포함된 문서를 참고하시기 바랍니다.
2021.10.07 2.1.3 - 더 이상 사용되지 않는 org.apache.http 라이브러리를 제거하였습니다.
2021.09.23 2.1.2 - 비디오나 오디오만 있는 MPD 파일을 다운로드할 때 발생하는 오류가 수정되었습니다.
2021.08.12 2.1.1 - PallyconDownloadEventListener.onProgressUpdate() 함수가 리턴하는 다운로드 진행률이 각각의 트랙이 아닌 해당 다운로드 전체 크기에 대한 비율로 처리됩니다.
2021.07.13 2.1.0 - 콘텐츠 키를 요청할 수 있는 PallyconKeyRequest 인터페이스가 추가되었습니다.
자세한 사항은 SDK에 포함된 문서를 참고하시기 바랍니다.
2021.06.29 2.0.3 - 라이선스 서버로부터 에러코드가 응답된 경우, 라이선스 요청을 재시도하는 대신 PallyConServerResponseException 예외가 반환되도록 SDK를 업데이트 하였습니다.
- 이제 PallyCon Widevine SDK 라이브러리에서 READ_PHONE_STATE 권한을 요구하지 않습니다.
2021.04.30 2.0.1 - 다운로드 콘텐츠의 오프라인 재생 시, 기기 시간이 과거로 변경된 경우에 앱 크래시가 발생하는 버그를 수정하였습니다.
- 이전 버전(v2.0.0)을 사용 중인 고객은 필히 업데이트해 주시기 바랍니다.
2021.04.15 2.0.0 - 본 SDK는 ExoPlayer 2.13.2 버전을 지원합니다.
- DrmSessionManager를 반환하는 인터페이스가 변경되었습니다.
2021.02.11 1.15.0 - 디바이스의 루팅 여부를 알 수 있는 API가 추가되었습니다. PallyConDetectRooting.detectRootingDevice()
2021.01.04 1.14.0 - MPEG-DASH 파일 크기를 알수 있는 PallyConMpegDashInfo 클래스가 추가됩니다.
2020.12.22 1.13.0 - SDK 샘플이 라이선스를 Token으로 획득하도록 변경됩니다.
- Token 으로 라이선스를 획득할 수 있는 API가 추가됩니다.
- PallyConTokenInfo 클래스에 User ID와 Key Rotation 정보가 반영됩니다.
2020.09.25 1.12.0 - ExoPlayer 2.11.8 버전을 지원합니다.
2020.08.12 1.11.0 - 멀티 키 콘텐츠와 오프라인 렌탈 시나리오를 지원합니다.
- v1.10.1에 추가되었던 existDownloadLicense 함수가 제거되고, 새롭게 getOfflineLicenseExpireDate 함수가 추가되었습니다.
2020.07.27 1.10.2 - 구글 정책에 따라 Target 28 -> 29로 변경됩니다.
- 콘텐츠가 저장될 폴더명을 지정할 수 있는 PallyConDownloadTask API가 추가됩니다.
- 콘텐츠 URL 분석 처리가 수정됩니다.
2020.05.12 1.10.1 - SDK에 적용된 ExoPlayer 버전이 2.10.4 -> 2.10.8 로 변경됩니다.
2019.12.11 1.10.0 - existDownloadedLicense API가 추가되어 DB에 라이선스 존재 여부를 알수 있습니다.
2019.10.07 1.9.0 - ExoPlayer 2.10.x 버전 업데이트로 AndroidX, Android API 28, Gradle 5.4.1, Gradle Plugin 3.5.0 이 적용되었습니다.
- setEnableLog 메소드가 제거 되었습니다.
- SDK 업데이트로 Android/AndroidTV Sample도 함께 업데이트 되었습니다. 변경 사항은 각 샘플을 확인하시기 바랍니다.
2019.09.09 1.8.0 - removeLicense(), removeLicenseByCustomData(), removeLicenseByProxy() 메소드에서 네트워크 연결 없이 라이선스 삭제가 가능합니다.
2019.08.16 1.7.0 - PallyConWVSDK 크기를 최적화는 작업이 진행되었습니다.
- MpdTrackSelector 클래스에 setCookie() 함수가 추가했습니다.
- PallyconLoggingListener가 추가 되어 내부 로그를 확인할 수 있습니다.
- PallyconWVMSDK.setEnableLog 함수가 다음 버전에서 제외됩니다.
2019.07.12 1.6.8 - SetCookie 함수의 오류를 수정했습니다.
2019.06.20 1.6.7 - Token 으로 라이선스를 다운로드 받을 수 있는 downloadLicenseByToken() 함수를 추가했습니다.
2019.06.11 1.6.6 - MediaDrmCallback 이 동작하는 SDK API에 설정된 Cookie가 적용되도록 변경되었습니다.
- setCookie함수에 예외처리가 추가되었습니다.
- enableLog함수명이 setEnableLog으로 변경하였으며, 예외처리가 추가되었습니다.
2019.06.05 1.6.5 - 64비트 지원 추가
2019.04.24 1.6.4 - 안드로이드 4.4 ~ 5.0 버전 단말에서 발생하는 앱 설치 오류를 수정
2019.02.13 1.6.3 - 콘텐츠 다운로드 완료 후 호출되는 콜백함수 추가
- ExoPlayer 2.9.3 적용
- Gradle version 4.6, Android Plugin version 3.2.1, compileSdkVersion 27 적용
- Android 9.0에서 실행 시 발생하는 내부 오류 수정
2018.12.27 1.6.1 - 어댑티브 DASH 콘텐츠를 다운로드 할 때 해상도를 선택할 수 있는 기능이 추가 되었습니다.
2018.09.19 1.6.0 - Simple 버전 샘플 프로젝트 추가. 기존 샘플보다 쉽게 SDK 기본 기능을 체험할 수 있습니다.
- 대상 사이트가 SDK 사용 권한이 있는지 확인하기 위해 SDK 인증 기능을 추가했습니다.

FPS iOS SDK

날짜 버전 내용
2024.01.30 2.0.0 - 더 나은 기능과 명확성을 위해 SDK API를 업데이트했습니다.
- 더 이상 필요하지 않은 일부 오래된 API를 사용 중지했습니다. 자세한 사항은 SDK 내부 문서를 확인하시기 바랍니다.
2023.07.19 1.17.3 - iOS 17 베타 버전에서 발생하는 오류를 수정하었습니다.
2023.03.10 1.17.2 - 에어플레이 재생 기능과 관련한 문제를 수정하였습니다.
2023.01.09 1.17.1a - SDK 라이브러리 파일과 관련한 문제를 수정하였습니다.
2022.08.22 1.17.1 - 저용량 콘텐츠 다운로드 시 라이선스 오류 발생을 막기 위해서, 라이선스를 우선 획득하는 createDownloadTask() 함수가 추가되었습니다.
- 콘텐츠 다운로드 기능을 AVContentKeySession 기반으로 업데이트하였습니다. 이에 따라 다운로드 기능은 iOS 11.1 이상에서만 지원됩니다.
- AVAssetResourceLoader와 관련한 각종 오류를 수정하였습니다.
2021.12.17 1.15.0 - 기존에 iOS와 tvOS용으로 구분되었던 FPS SDK를 하나로 통합하였습니다.
- tvOS 앱의 스토어 업로드를 위해 xcframework 라이브러리에서 bitcode 빌드를 지원합니다.
2021.08.27 1.14.0 - 클라이언트 앱에서 자막 추가 등 m3u8 playlist의 내용을 수정할 수 있도록 resourceLoaderRequest() 함수를 추가하였습니다.
2021.07.16 1.13.0 - 앱에서 콘텐츠 키에 대한 요청과 응답을 직접 처리할 수 있도록 contentKeyRequest() 함수를 추가하였습니다.
- proxy 서버 등 커스텀 라이선스 URL을 입력할 수 있는 파라미터를 prepare() 함수에 추가하였습니다.
2021.01.04 1.12.0 - HLS 파일 크기를 알수 있는 PallyConHLSInfo 클래스가 추가됩니다. Track 별로 콘텐츠 크기를 제공합니다.
- 샘플에 HLS 사이즈를 볼수 있는 예제가 포함되어 있습니다.
2020.12.23 1.11.0 - SDK 샘플이 Token으로 라이선스를 획득하도록 코드가 변경됩니다.
- Token 기반 라이선스 획득과 관련된 API가 추가됩니다.
- PallyConTokenInfo 클래스에 User ID와 Key Rotation 정보가 추가되며, token 프로퍼티에서 policy 프로퍼티로 이름이 변경됩니다.
2020.09.25 1.9.0 - 1.8.5 버전에 추가되었던 existDownloadedLicense 함수가 제거되었습니다. 새로 추가된 getOfflineLicenseExpireDate 함수를 통해 라이선스 유무와 만료 날짜를 알 수 있습니다.
- getOfflineLicenseExpireDate 함수가 추가되었습니다.
- 멀티키로 패키징된 콘텐츠의 라이선스 획득과 재생을 지원합니다.
2020.07.06 1.8.8 - SDK가 Xcode 11.5 와 swift 5.2.4가 반영 됩니다.
- XCframework SDK 가 추가됩니다.
2020.02.24 1.8.7 - 컨텐츠 다운로드와 라이선스 다운로드가 함께 동작하도록 수정되었습니다.
2020.01.22 1.8.6 - 컨텐츠 다운로드 시 Cellular 사용을 제한 할 수 있습니다.
- 시뮬레이터 라이브러리(x86_64, i386)가 제거된 SDK가 배포됩니다.
2020.12.11 1.8.5 - 라이선스 존재 여부를 알수 있는 existDownloadedLicense 가 추가됩니다.
2019.11.07 1.8.4 - Xcode 11.2, Swift 5.2 에서 빌드된 iOS/tvOS SDK를 배포합니다.
2019.10.18 1.8.3 - Xcode 11, Swift 5.1 에서 빌드된 iOS/tvOS SDK를 배포합니다.
2019.07.29 1.8.2 - iOS 9 타겟에서 Symbol not found 발생하는 오류 수정하였습니다.
2019.07.19 1.8.1 - 저장된 라이선스가 삭제되지 않는 버그를 수정하였습니다.
2019.06.01 1.8.0 - SDK 인증 과정을 제거했습니다.
2019.04.05 1.7.0 - Swift 5.0 버전을 지원합니다.
- 다운로드 기능의 버그를 수정하였습니다.
2019.01.28 1.6.5 - KeyChain에 접근 권한을 ‘항상 접근’으로 변경하였습니다.
2019.01.05 1.6.4 - SDK 인증 관련 일부 기능이 수정되었습니다.
2018.12.20 1.6.3 - 어댑티브 스트림 콘텐츠의 특정 Bandwidth 파일만 다운로드 받을 수 있도록 파라미터가 추가되었습니다.
2018.11.29 1.6.2 - 초기 SDK 정보 획득 시 저장된 KeyChain 정보를 초기화 하도록 수정했습니다.
- 인증 실패 시 KeyChain 에 저장된 정보를 초기화 하도록 수정했습니다.
2018.11.21 1.6.1 - SDK 인증 시 키체인 저장과 관련된 오류를 수정하였습니다.
- Download API의 오류를 수정하였습니다.
2018.09.19 1.6.0 - Simple 버전 샘플 프로젝트 추가. 기존 샘플보다 쉽게 SDK 기본 기능을 체험할 수 있습니다.
- Swift 4.2, iOS 12 지원. Xcode 10, Swift 4.2 로 빌드 되었습니다.
- 대상 사이트가 SDK 사용 권한이 있는지 확인하기 위해 SDK 인증 기능을 추가했습니다.

NCG Android SDK

날짜 버전 내용
2024.02.21 2.16.0 - Ncg2Agent 오브젝트를 생성할 수 있는 빌더 클래스를 추가했습니다.
- Ncg2Agent에 LicenseConfig 클래스를 사용하는 새로운 함수들을 추가했습니다. 자세한 사항은 SDK에 포함된 릴리즈 노트를 참조하시기 바랍니다.
- SDK 문서가 DoxyGen에서 JavaDoc으로 변경되었습니다.
- 라이브러리 배포 방법을 JAR에서 AAR로 변경했습니다.
- NCG init() 중 registerReceiver() 함수의 크래시를 수정했습니다.
2024.01.11 2.15.0 - 성능 향상을 위해 내부 라이브러리를 업데이트했습니다.
2023.08.29 2.14.0 - 이펍(ePUB) 콘텐츠에 대한 복호화 성능을 개선하였습니다.
2022.12.19 2.12.0 - 이펍(ePUB) 콘텐츠 지원 개선을 위해 Poco zip 라이브러리와 관련 API를 추가하였습니다.
- 이펍 파일(zip 포맷) 지원과 관련한 샘플 코드를 추가하였습니다.
2022.04.25 2.11.1 - 안드로이드의 범위 지정 저장소(Scoped Storage) 지원을 위해 샘플 앱의 다운로드 저장 위치를 변경하였습니다.
- DRM API의 반복 호출 시 세그멘테이션 에러가 발생하던 이슈를 수정하였습니다.
2021.12.23 2.11.0 - NCG 코어의 각종 버그를 수정하고 안정성을 개선하였습니다.
2021.09.12 2.10.0 - 특정 상황에서의 라이선스 발급 실패를 해결하기 위해, 라이선스 에러코드가 7003이고 Device ID가 Widevine UUID인 경우 Device ID와 RODB를 초기화합니다. 이 경우 기존에 기기에 저장된 라이선스 정보는 삭제되며, Ncg2Agent.init()함수를 호출한 후 새로 라이선스를 요청해야 합니다.
2021.04.21 2.9.0 - SDK를 통해 재생되는 NCG HLS 스트림에 대한 불법적 접근을 막기 위해 로컬 웹서버의 보안을 강화했습니다.
2021.03.04 2.8.0 - 라이선스 토큰의 정보를 확인할 수 있는 getTokenInformation() 함수가 추가되었습니다.
- SDK 샘플을 토큰 기반으로 업데이트하였습니다.
2021.01.07 2.7.0 - NCG-HLS 콘텐츠에 대한 다운로드 재생을 지원합니다.
2020.09.03 2.6.3 - SDK Sample 프로젝트에 scoped storage 권한이 추가됩니다.
2020.08.12 2.6.2 - Token으로 라이선스 획득이 가능한 API가 추가됩니다.
2020.07.01 2.6.1 - 샘플 프로젝트 오류를 수정하여 반영합니다.
2020.05.28 2.6.0 - Android 루팅 확인 시 강도를 지정할 수 있는 setRootingCheckLevel() API가 추가됩니다.
2020.04.29 2.5.5 - 구글 정책에 따라 타겟 버전이 29로 변경됩니다.
- Android Q(API 29)부터 Widevine UUID를 Device ID로 사용합니다.
2020.04.02 2.5.4 - NCG Core 에 m3u8 파일에서 EXT-X-MAP에 있는 URI 추출하는 함수가 추가되어 NCG SDK에 반영됩니다.
- NCG Advanced 샘플이 HLS 콘텐츠 여부에 따라 각각 다른 플레이어가 호출되도록 변경됩니다.
2020.03.13 2.5.3 - 안드로이드 루팅 체크가 변경됩니다.
2020.02.05 2.5.2 - Secure Time 관련 로그가 NcgExceptionalEventListener로 출력됩니다.
- NCG Core에 모든 로그가 출력되지 않습니다.
2019.11.11 2.5.1 - Android Target Sdk Version이 27에서 28로 변경됩니다.
- AndroidX 가 적용되었습니다.
- 일부 디바이스에서 외부 출력 및 루팅 확인이 안되는 문제를 수정했습니다.
2019.10.07 2.5.0 - 로컬 웹서버에서 크래시 발생을 제거했습니다.
2019.06.05 2.4.0 - Android 64bit(arm64-v8a, x86_64) 지원
2019년 8월부터 Android 64bit 지원이 필수가 되어 NCG SDK에 Android ABI arm64-v8a, x86_64 가 포함되었습니다. 8월부터 구글 플레이에 앱을 등록하려면 NCG SDK v2.4.0 이상을 반드시 적용해야 합니다.
- Android API Level 변경(API 15 -> 16)
NCG SDK 64bit를 지원하면서 NDK에서 최소 지원이 Android API Level 16 으로 변경되었습니다. 64bit 에서 Android 최소 지원은 Android API Level 21 입니다.
2019.02.27 2.3.2 - 안드로이드 9.0 버전 지원이 추가되었습니다.
2018.12.27 2.3.1 - Android 에뮬레이터에서 실행되는 것을 차단하는 보안 패치가 추가되었습니다.
2018.09.19 2.3.0 - Simple 버전 샘플 프로젝트 추가. 기존 샘플보다 쉽게 SDK 기본 기능을 체험할 수 있습니다.
- 시큐어타임 로직 개선. 일부 단말에서 오프라인 재생 시 보안이 강화되었습니다.

NCG iOS SDK

날짜 버전 내용
2024.01.11 2.12.0 - 성능 향상을 위해 내부 라이브러리를 업데이트했습니다.
2023.02.08 2.11.1 - 이펍(ePub) 콘텐츠를 더 잘 지원하기 위해 zip.ncg 파일을 읽을 수 있는 Ncg2FileZip 인터페이스를 추가했습니다. 자세한 내용은 SDKSimple-Swift-Zip 샘플을 참조하세요.
- 지원되는 iOS 버전이 최소 iOS 11 이상으로 변경되었습니다.
2022.02.18 2.10.1 - NCG 코어 라이브러리의 각종 버그를 수정하고 안정성을 개선했습니다.
2022.01.20 2.10.0 - SDK에서 사용하는 CURL 라이브러리를 최신 버전(7.79.1)으로 업데이트 했습니다.
2021.11.29 2.9.1 - 라이브러리 헤더 경로를 Simulator와 Device 구분 없이 하나로 통합했습니다.
2021.11.04 2.9.0 - xcframework 형태의 NCG 라이브러리를 추가했습니다.
2021.09.02 2.8.2 - Advanced Sample 에서 NcgHttpRequestDelegate 프로토콜에 대한 델리게이트가 로컬웹서버에 설정이 안되는 오류를 수정했습니다.
2021.06.11 2.8.1 - 호환성 향상을 위해 SDK 내부에서 사용되는 CURL 라이브러리를 교체했습니다.
2021.04.21 2.8.0 - SDK를 통해 재생되는 NCG HLS 스트림에 대한 불법적 접근을 막기 위해 로컬 웹서버의 보안을 강화했습니다.
2021.03.11 2.7.1 - Ncg2Agent.setExceptionalEventDelegate: 설정과 NcgExceptionalEventDelegate 구현으로 추가적인 로그를 확인할 수 있게 되었습니다.
2021.03.04 2.7.0 - 하나의 앱에 NCG iOS SDK와 PallyCon FPS SDK를 모두 적용하는 경우에 발생하는 컴파일 에러를 방지하기 위해 기존 PallyConTokenInfo 인터페이스를 Ncg2TokenInfo로 변경하였습니다.
- 최신 Xcode에서 발생하는 빌드 에러를 해결하기 위해 iOSNcgSDK.framework에서 시뮬레이터용 라이브러리를 제거하였습니다.
2021.01.07 2.6.0 - getTokenInfo() 함수를 통해 주어진 Token 정보를 확인 할 수 있습니다.
- SDK 샘플의 기본 라이선스 연동을 토큰 방식으로 업데이트 했습니다.
2020.10.18 2.5.2 - 토큰으로 라이선스 획득 시 Acquire URL을 지정할 수 있는 API가 추가되었습니다.
2020.04.03 2.5.1 - NCG Core에 m3u8 파일에서 EXT-X-MAP에 있는 URI를 추출하는 함수가 추가되었습니다.
2019.10.08 2.5.0 - 로컬 웹서버에서 크래시 발생을 제거했습니다.
2019.01.22 2.4.2 - 토큰 방식의 라이선스 획득을 위한 새로운 함수가 추가 되었습니다. (acquireLicenseByToken)
2018.11.27 2.4.1 - RODB 파일이 손상되거나 수정 된 경우 복구 프로세스가 업데이트되었습니다.
2018.09.19 2.4.0 - Simple 버전 샘플 프로젝트 추가. 기존 샘플보다 쉽게 SDK 기본 기능을 체험할 수 있습니다.
- 시큐어타임 로직 개선. 일부 단말에서 오프라인 재생 시 보안이 강화되었습니다.
- Swift 4.2, iOS 12 지원. Xcode 10, Swift 4.2 로 빌드 되었습니다.
- Xcode 10 버전 C++ 라이브러리 이름 변경. Xcode 10버전부터 기존의 libstdc++에서 libc++로 변경되었습니다.

NCG Windows SDK

날짜 버전 내용
2024.01.11 1.12.0 - 성능 향상을 위해 내부 라이브러리를 업데이트했습니다.
2023.03.10 1.11.0 - 기존의 정적 링크 라이브러리 외에 DLL 버전의 SDK 라이브러리가 추가되었습니다.
2022.06.17 1.10.0 - WBC(White Box Crypto) 관련 보안 모듈이 업데이트 되었습니다.
2021.01.07 1.6.1 - 레지스트리에 저장된 이전 SDK에서 생성한 PCID를 삭제하지 않도록 업데이트 됩니다.
- getLicenseInfo()에서 라이선스가 있음에도 예외처리 되어 라이선스가 없을 경우에만 예외처리되도록 수정됩니다.
2020.10.14 1.6.0 - 레지스트리에 저장된 이전 PCID를 새로운 SDK에서 사용할 수 있도록 내부 SDK가 업데이트 됩니다.
2020.03.27 1.5.0 - 이전 버전 SDK에서 생성한 RODB를 새로운 SDK의 RODB로 마이그레이션 가능한 API가 추가됩니다.
.ncg_data.sys 파일 이름이 .ncg_data_win.sys 파일로 변경됩니다.
2019.11.02 1.4.0 - HttpRequestCallback.getHttpHeader() 인터페이스가 추가됩니다.
2019.03.07 1.3.0 - Http 콜백이 설정되면 해당 정보가 관련 함수에 모두 적용되도록 반영됩니다.

NCG macOS SDK

날짜 버전 내용
2023.03.06 1.2.0 - 최신 맥OS 지원을 위해 NCG 코어 모듈과 샘플 코드를 업데이트하였습니다.
2022.10.07 1.1.2 - 대용량 파일 지원을 위해 Ncg2File.read 함수에서 읽을 수 있는 최대 버퍼 사이즈를 증가시켰습니다.
- SDK 내부에서 네트워크(스트리밍)로 한 번에 읽을 수 있는 NCG 파일의 크기가 최대 4MB로 변경되었습니다.
2021.04.12 1.1.1 - 에러 로그 출력과 관련한 버그를 수정하였습니다.
2020.09.02 1.1.0 - Secure Time 획득 처리를 SDK 초기화 시점에서 라이선스 획득 시점으로 변경하였습니다.

PlayReady UWP SDK

날짜 버전 내용
2024.04.03 1.8.0 - 이동식 저장장치에 대한 지원이 추가되었습니다.
2023.08.30 1.7.0 - Reactive 라이선스 시나리오에서 사용자 지정 LA URL에 대한 지원이 추가되었습니다.
- 라이선스 요청에 대한 콜백 인터페이스가 추가되었습니다.
2022.12.26 1.5.0 - DASH on-demand 프로파일 지원이 추가되었습니다.
- ABR 및 멀티키 콘텐츠의 다운로드 및 재생 기능이 개선되었습니다.
- 자막 파일 다운로드와 관련된 버그를 수정하였습니다.
2022.12.06 1.4.0 - SDK 인증 로직이 제거되었습니다.
- 샘플 코드의 한글 주석을 영문화했습니다.
2020.09.16 1.3.0 - SDK 사용 권한을 체크하는 인증 로직이 추가되었습니다.

멀티 DRM Flutter SDK

날짜 버전 내용
2024.04.03 1.1.0 - 스트리밍 콘텐츠 재생 시 Better Player를 이용하도록 샘플을 업데이트했습니다.
- 콘텐츠 재생 관련 오류를 수정하였습니다.
2023.03.15 1.0.0 - Flutter 기반의 크로스플랫폼 어플리케이션을 지원하는 멀티 DRM Flutter SDK가 신규 출시되었습니다.
- 안드로이드와 iOS 환경에서 각각 Widevine과 FairPlay DRM으로 암호화된 콘텐츠의 스트리밍과 다운로드 시나리오를 지원합니다.

멀티 DRM React Native SDK

날짜 버전 내용
2024.03.05 1.1.1 - 일부 사소한 문제를 수정하였습니다.
2023.05.03 1.0.0 - React Native 기반의 크로스플랫폼 어플리케이션을 지원하는 멀티 DRM React Native SDK가 신규 출시되었습니다.
- 안드로이드와 iOS 환경에서 각각 Widevine과 FairPlay DRM으로 암호화된 콘텐츠의 스트리밍과 다운로드 시나리오를 지원합니다.

DRM 라이선스 사이퍼 SDK

날짜 버전 내용
2023.11.20 1.0.0 - 소프트웨어 레벨 DRM인 Widevine L3의 보안을 강화하는 DRM 라이선스 사이퍼 솔루션이 신규 출시되었습니다.
- 라이선스 사이퍼 SDK는 안드로이드 앱에서의 Widevine 라이선스 요청을 암호화해 각종 해킹 툴로부터 콘텐츠 키를 보호합니다.

멀티 DRM 안드로이드 데모 앱

날짜 버전 내용
2022.07.05 1.0.0 - PallyCon 멀티 DRM의 모바일 데모 앱이 구글 플레이 스토어에 새롭게 출시되었습니다.
- 안드로이드 버전 데모는 Widevine DRM으로 보호된 샘플 콘텐츠와 고객사에서 직접 패키징한 콘텐츠의 스트리밍 재생을 지원합니다.

멀티 DRM iOS 데모 앱

날짜 버전 내용
2022.07.05 1.0.0 - PallyCon 멀티 DRM의 모바일 데모 앱이 새롭게 출시되었습니다. (TestFlight 기반 배포)
- iOS 버전 데모는 FairPlay DRM으로 보호된 샘플 콘텐츠의 스트리밍 재생을 지원합니다.
다음