2017-03-18 3 views
0

아무도 iOS에서 Microsoft's PlayReady Client SDK을 사용해 본 경험이 있습니까?iOS에서 PlayReady DRM : 해독 된 비디오 이미지를 자신의 GL 컨텍스트에 복사 할 수 있습니까?

iOS 용 플레이 레디 클라이언트 SDK - 플레이 레디 지원 앱 활용하는 네이티브 아이폰 OS API를 개발하는 데 사용됩니다. 이 SDK는 iOS에서 기본적으로 HLS로 을 지원하는 미디어 형식, MPEG-DASH 및 Smooth Streaming 및 HLS 콘텐츠의 라이브 및 주문형 재생 및 다양한 PlayReady 기능에 대한 PlayReady 보호를 구현하는 데 사용할 수 있습니다.

그리고 네 경우,

당신에게 있었다 중 하나

  • 해독 된 데이터/픽셀 버퍼에 대한 참조를 얻을 수 복호화 된 비디오 이미지
  • 을 보여주는 텍스처 ID에 대한 핸들을 얻을 수
  • 또는 자신의 GL 컨텍스트에 표시하기 위해 시각적 미디어에 액세스하는 다른 방법을 찾았습니까?

사용 사례는 네트워크에서 iOS 장치로 암호화 된 오디오 비주얼 미디어를 스트리밍하고 해독 한 다음 해독 된 데이터를 사용하여 OpenGL 텍스처에 표시되는 이미지를 만드는 것입니다.

왜 FairRead가 아닌 PlayReady입니까?

일단 FairPlay를 사용하면 보호 된 비디오 콘텐츠를 표시하는 유일한 방법은 AVPlayerLayer를 사용하는 것입니다. 예를 들어 의 3D 공간에서 OpenGL 텍스처로 표시하기 위해 Apple의 API 인 에서 FairPlay로 보호 된 HLS 미디어를 검색하는 방법은 현재까지 입니다.

https://stackoverflow.com/a/42873301/1097106

답변

1

iOS 용 PlayReady Client SDK를 사용한 적이 없지만 에 대한 액세스 권한이 없습니다.

PlayReady Client SDK는 MPMediaPlayback을 상속받은 MediaPlayerController 구성 요소와 함께 제공됩니다. 이 구성 요소를 사용하여 보호 된 컨텐츠를 재생해야합니다 (H.264 및 AAC 만 지원). 나의 이해는이 구성 요소가 이미 다운로드, 해독, 디코딩 및 컨텐트의 렌더링을 처리한다는 것입니다 (뷰도 제공함). PlayReady iOS SDK에 공개 된 낮은 수준의 API를 인식하지 못해 암호 해독 버퍼에 직접 액세스 할 수 있습니다. MPMediaPlayback에서 프레임을 가져올 수 있는지 알려주는 iOS 미디어 재생에 대해서도 충분히 이해하지 못합니다.

낮은 수준의 암호 해독 액세스는 PlayReady 포팅 킷을 직접 사용하지만 완전히 다른 라이선스가 필요하며 iOS에 자신의 PlayReady 포트를 만들어야하는 경우에만 사용할 수 있습니다. PlayReady 포팅 킷은 칩 및 장치 제조업체를위한 것이지 앱 개발자 및 포트를위한 것이 아닙니다. PlayReady 견고성 지침을 충족해야합니다.

0

대답은 확실히 더해야한다, 그렇지 않으면 DRM이 작업 참 잘 수행되지 않을 것이다!

원시 데이터를 가져올 수 있다면 파일 사본을 저장하는 것이 매우 쉽습니다.

참고로, 일부 운영 체제에서는 필터 및 변환을 암호화 된 프레임에 적용 할 수 있습니다. 나는이 분야에서 iOS에 익숙하지 않지만 Android에서는 이것이 가능합니다.

+0

Android를 사용하면 SurfaceTexture를 사용하고 그 텍스처 ID를 사용하여 자신의 gl 텍스처 (https://github.com/gcschrader/MediaSurfacePlugin)에 콘텐츠를 복사 할 수 있습니다. 이것은 ExoPlayer와 DRM을 함께 사용하는 경우에도 작동합니다. FairPlay가 적용된 Apple의 AVPlayer는 동일한 기능을 제공하지 않는 것으로 보입니다. 그래서 대안이 있는지 궁금합니다. 해야 또는하지 말았어야합니다. iOS에서 어떻게 할 수 있습니까? Microsoft의 PlayReady SDK는 Android와 비슷한 기능을 제공합니까? (즉, 텍스처 ID를 처리 한 다음 자신의 내용을 자신의 것으로 복사 할 수 있습니다.) – svrs

+0

당신의 대답은 실제로 제가 문구를 정확하게 말하지 않았다는 것을 깨닫게했습니다 (감사합니다). 질문 업데이트 중. – svrs