详细原理可以看:https://www.jiqizhixin.com/articles/2021-06-16-3
主要使用libsrtp
1.srtp_init:初始化 srtp 库,初始化内部加密算法,在使用 srtp 前,必须要调用了。
srs启动会在SrsDtlsCertificate::initialize()中调用srtp_init()。
2.srtp_create, 创建 srtp_session,调用栈如下:
3. srtp_unprotect/srtp_protect,RTP 包加解密接口。
4. srtp_protect_rtcp/srtp_unprotect_rtcp:RTCP 包的加解密接口。
5. srtp_set_stream_roc/srtp_get_stream_roc:设置和获取 stream 的 ROC,这两个接口在最新的 2.3 版本加入。