這篇文章主要為大家展示了“l(fā)ibsrtp有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“l(fā)ibsrtp有什么用”這篇文章吧。
說明
libsrtp主要是是用來加密rtp/rtcp的;也可以加密任何文本,注意前面的rtp_協(xié)議的字節(jié)是不加密的;和AES加密沒有什么過程區(qū)別
源碼編譯
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
例子非常實(shí)用,但是沒有錯(cuò)誤的檢查。假設(shè)發(fā)送的數(shù)據(jù)流中***c已經(jīng)正確的被賦值,并且可以使用 get_rtp_packet和send_srtp_packet().
get_rtp_packet將RTP包保存到緩存中,返回具體的長度,最后一個(gè)將緩存中的數(shù)據(jù)發(fā)送出去。srtp_protect負(fù)責(zé)數(shù)據(jù)的加密
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);
}
以上是“l(fā)ibsrtp有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。