十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要为大家展示了“libsrtp有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“libsrtp有什么用”这篇文章吧。
创新互联专注于企业网络营销推广、网站重做改版、垣曲网站定制设计、自适应品牌网站建设、H5网站设计、商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为垣曲等各大城市提供网站开发制作服务。
说明
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有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!