2017-10-09 37 views
0

사용자가 스크린 샷을 찍거나 비디오 파일의 화면을 캡처하지 못하도록 방지하는 방법이 있습니까? Netflix가 어떻게 구현하는지와 비슷한 점이 있습니다. 화면을 클릭 할 때마다 검은 색 화면을 반환합니다. 나는 올바른 방향으로 시작점이 필요할뿐입니다. 감사! 편집 : DRM과 관련이 있습니다. 그리고 Netflix는 이미 그것을 구현하고 있기 때문에 반드시 주위에 어떤 방법이 있어야합니다.미디어 플레이어와 같은 netflix 구현, 스크린 샷 및 비디오 캡처 방지

+0

[모든 브라우저에서 웹 페이지의 인쇄 화면을 어떻게 비활성화 할 수 있습니까?] (https://stackoverflow.com/questions/5938466/how-can-i-disable-print-screen-for-a-) 웹 페이지에서 전체 브라우저) – George

+1

Netflix는 암호화 된 미디어 확장 (EME) – szatmary

답변

1

Netflix 및 이와 유사한 서비스는 콘텐츠를 암호화하고 DRM 시스템을 사용하여 암호 해독 키를 관리하고 승인 된 사용자와 공유합니다.

서로 다른 플랫폼은 서로 다른 플레이어와 잠재적으로 서로 다른 DRM 유형을 사용합니다. 주 시스템의 경우 Apple 기기와 브라우저는 FairPlay를 사용하고 Windows 기기와 브라우저는 PlayReady 및 Google 기기를 사용하며 브라우저는 Widevine을 사용합니다.

위의 브라우저 중 하나에서 n 개의 다른 브라우저를 실행하면 브라우저가 조금 복잡해 지지만 일반적으로 브라우저 공급 업체는 지원되는 DRM이 무엇인지 결정합니다 (전부는 아님). 모든 기기의 브라우저는 DRM을 지원합니다).

DRM 서비스를 사용하려면 개별 DRM 공급 업체에 문의하거나 다중 DRM 공급 업체 또는 서비스 공급 업체를 사용해야합니다.

대부분의 상업적인 콘텐츠 소유자에게는 받아 들여지지 않지만, AES 암호화 또는 DASH를 사용하는 경우에는 충분할 수있는 덜 안전한 암호화를 사용할 수도 있습니다.

이들은 안전하지는 않지만 때로는 특정 요구 사항에 적합합니다. 당신은 AES를 만들 수는 FFmpeg 및 OpenSSL을 사용할 수 있습니다

는 HLS 스트림을 암호화 - ffmpeg라는 문서 (http://ffmpeg.org/ffmpeg-all.html#Options-34)이 예제 스크립트가 포함를 :

#!/bin/sh 
BASE_URL=${1:-'.'} 
openssl rand 16 > file.key 
echo $BASE_URL/file.key > file.keyinfo 
echo file.key >> file.keyinfo 
echo $(openssl rand -hex 16) >> file.keyinfo 
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \ 
    -hls_key_info_file file.keyinfo out.m3u8 

또한 기본 clearkey 대시 암호라면을 만들 mp4Box (https://gpac.wp.imt.fr/mp4box/encryption/common-encryption/)를 사용할 수 있습니다 :

MP4Box -crypt drm_file.xml movie.mp4 -out movie_encrypted.mp4

drm info는 drm_file.xml에 포함되어 있으며 위 링크에서 설명합니다.

EMM을 통해 BitMovin 및 JWPlayer와 같은 거의 모든 주요 플레이어, 안드로이드 기반 ExoPlayer 등은 DRM 및 암호화 된 재생을 지원합니다. 이것들은 암호화 된 컨텐츠를 올바르게 탐지하고, 당신이 언급 한 '블랙 스크린'효과를 처리하는 한 표준으로 작동해야합니다.