2017-10-09 266 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系統來管理和共享去cryption鍵授權的用戶。一般而言,對於主要系統,蘋果設備和瀏覽器使用fairPlay,Windows設備和瀏覽器使用PlayReady和Google設備,瀏覽器使用Widevine。不同的平臺將使用不同的播放器和潛在的不同DRM類型。

當你從上面的瀏覽器運行在不同的設備上時,它會變得更加複雜一些,但是一般的規則是瀏覽器廠商會決定哪個DRM被支持(不是全部所有設備上的瀏覽器都支持DRM)。

如果你想要使用數字版權服務您可能需要接近個人DRM供應商或使用多DRM供應商或服務供應商。

您還可以使用不太安全的加密這是不能接受的大多數商業內容所有者,但是這可能是你的情況不夠好 - AES加密或明顯與DASH。

這些都不是安全的,但有時不夠好一定的需求。

可以使用的ffmpeg和OpenSSL創建的AES加密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 

您還可以使用mp4Box(https://gpac.wp.imt.fr/mp4box/encryption/common-encryption/)創建基本clearkey DASH加密:

MP4Box -crypt drm_file.xml movie.mp4退房手續movie_encrypted.mp4

drm info包含在drm_file.xml中,並在上面的鏈接中進行了解釋。

在玩家身邊,幾乎像BitMovin和JWPlayer在網絡上通過EME,ExoPlayer所有的主力球員在Android原生等將支持DRM和加密播放。這些應該作爲檢測加密內容的標準工作,只要它們配置正確,並且會照顧到您提到的「黑屏」效果。