温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

libsrtp有什么用

发布时间:2021-12-07 13:46:16 来源:亿速云 阅读:508 作者:小新 栏目:软件技术

这篇文章主要为大家展示了“libsrtp有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“libsrtp有什么用”这篇文章吧。

说明

            libsrtp主要是是用来加密rtp/rtcp的;也可以加密任何文本,注意前面的rtp_协议的字节是不加密的;和AES加密没有什么过程区别

源码编译

cd /home/fengyuzaitu
wget https://github.com/cisco/libsrtp/archive/master.zip .
unzip master.zip
cd libsrtp-master
./configure
make
make runtest
make install

参考源码中的文档:libsrtp.pdf

1.7 Example Code
例子非常实用,但是没有错误的检查。假设发送的数据流中***c已经正确的被赋值,并且可以使用 get_rtp_packet和send_srtp_packet().

get_rtp_packet将RTP包保存到缓存中,返回具体的长度,最后一个将缓存中的数据发送出去。srtp_protect负责数据的加密

srtp_t session;
srtp_policy_t policy;
uint8_t key[30];
// initialize libSRTP
srtp_init();
// set policy to describe a policy for an SRTP stream
crypto_policy_set_rtp_default(&policy.rtp);
crypto_policy_set_rtcp_default(&policy.rtcp);
policy.***c = ***c;
policy.key = key;
policy.next = NULL;
// set key to random value
crypto_get_random(key, 30);
// allocate and initialize the SRTP session
srtp_create(&session, policy);
// main loop: get rtp packets, send srtp packets
while (1) {
char rtp_buffer[2048];
unsigned len;
len = get_rtp_packet(rtp_buffer);
srtp_protect(session, rtp_buffer, &len);
send_srtp_packet(rtp_buffer, len);
}

以上是“libsrtp有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI