2017-10-09 178 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和加密播放。这些应该作为检测加密内容的标准工作,只要它们配置正确,并且会照顾到您提到的“黑屏”效果。