1、播放器原理
播放器视频数据如果不想为其他客户端窥视,必须进行视频加密和解密。其中的加密原理如下文所示: 加密原理
加密方式依然为证书加对称加密相结合。这种方式同时保证了时间和效率。过度加密不可取。 播放器自己编写,否则无法解密。流程:
1.1 网络方式:
客户端的网络方式为异步读取,一个线程读取所有线路通道的包,送往解密线程队列, 协议为标准rtsp信令,进行rtp over tcp over rtsp 播放方式。一个客户端一个session会话。RTP 方式使用tcp时,有利于接收方使用字节数进行内存池安排,进行零拷贝方式使用内存帧。
1.2 解密流程:
a) 解密时取队列数据,根据等级保护级别判断是否该帧是否被加密, b) 解密后解码 c) 根据seqnum 和时间戳进行播放。 d) 录制直接写入文件,写入等级保护级别,后可以根据等级保护级别读取播放
2、 解密
视频解密必须由服务器端配合。两种方式: 1 客户端可以正常接收,在接收之前的握手协议必须加密。
2 客户端正常接收的是加密数据,必须使用密钥解密才能正常播放,其他播放器链接时会正常交互,但是视频不可以解码。如vlc 链接密加服务器时,正常连接,但无法播放,数据可以正常保存,但无法观看,而我们制作的客户端可以正常观看。
3 水印 正常的明水印,在图片上刻上水印,至于暗水印,考虑在每个关键帧的地方加入水印,很多企业使用的方式是在增强帧里面加暗水印,这个做法不安全。
3、rtsp客户端
rtsp客户端分几个等级保护 1 AES 对称级别 ????保护sps pps 信息 AES 加密 2 AES 对称级别 ????保护关键帧信息 AES 加密 3 证书加密级别 ????保护 sps pps 使用 证书加密 4 证书加密级别 ????保护sps pps 关键帧 使用证书加密 5 证书加密级别 ????保护所有信息 包含关键帧 非关键帧 6 AB 协议级别 ????使用私有AB协议 传输
rtsp 客户端里的sdp 信息等等不加密,关键信息加密,具体参看我前面一片文章,使用增强帧通知和使用证书加密。
rtsp 客户端完全自己编写,使用vlc 等客户端播放时可以正常接收数据,无法播放。
具体代码等我放出, 未完待续。。。。。。
|