音视频开源库: libsrtp

libsrtp是被广泛使用的 SRTP/SRTCP 加密的开源项目。

源码地址: GitHub - cisco/libsrtp: Library for SRTP (Secure Realtime Transport Protocol)

常用接口:

1. srtp_init:初始化 srtp 库,初始化内部加密算法,在使用 srtp 前,必须要调用了

2. srtp_create:创建 srtp_session

3. srtp_unprotect/srtp_protect: RTP 包加解密接口

4. srtp_protect_rtcp/srtp_unprotect_rtcpRTCP 包的加解密接口

5. srtp_set_stream_roc/srtp_get_stream_roc:设置和获取 stream 的 ROC,这两个接口在最新的 2.3 版本加入

重要的结构 srtp_policy_t,用来初始化加解密参数,在 srtp_create 中使用这个结构。以下参数需要关注:

1. DTLS 协商后得到的 MasterKeyMasterSalt 通过这个结构传递给 libsrtp,用于 session key 的生成。

2. window_size,对应我们之前描述的 srtp 防重放攻击的窗口大小。

3. allow_repeat_tx,是否允许重传相同序号的包。

 

使用该库作为基础库的开源音视频项目: srs/zlmediakit

你可能感兴趣的:(音视频)