作者:孫寧寧、袁小霞
網絡基礎設施升級、音視頻傳輸技術迭代、WebRTC開源等因素,驅動音視頻服務時延逐漸降低,使實時音視頻(RTC)技術成為炙手可熱的研究方向。實時音視頻業(yè)務在消費互聯(lián)網領域蓬勃發(fā)展,并逐漸向產業(yè)互聯(lián)網領域加速滲透。
Part 01●??音視頻通信過程?●
音視頻通信技術依托核心音視頻編解碼、信道傳輸、網絡調度等能力,為用戶提供低延時、高品質的音視頻內容。音視頻通信完整流程有如下幾個環(huán)節(jié):前后處理、采集、編碼、傳輸、解碼、緩沖、渲染等。
圖1 音視頻通信過程
Part 02●??音視頻通信相關協(xié)議?●
音視頻通信涉及的協(xié)議有:rtp,rtcp, rtmp,rtsp,http,hls,srt,sip。其中rtp和rtcp為傳輸層協(xié)議,它依賴底層的udp協(xié)議,常配合rts直播;rtsp,rtmp,hls,srt為應用層媒體傳輸協(xié)議,常用于直播,互動直播,點播等;sip為依賴底層udp協(xié)議信令控制協(xié)議,用于媒體會話發(fā)起、終止、修改控制。
表1 音視頻通信相關協(xié)議詳情
計算機網絡采用了層次化設計方法,層與層之間通過層間接口聯(lián)系起來,每層通過特定的協(xié)議完成一種功能,多層疊加完成整個信息的發(fā)送和接收。媒體通信協(xié)議與OSI協(xié)議體系結構的關系如下:
圖2 媒體通信協(xié)議與OSI協(xié)議體系結構的關系
Part 03●??基于SIP的中心信令控制服務?●
云桌SIP(Session Initiation Protocol)是應用層會話初始協(xié)議,可用于媒體會話的發(fā)起、終止、修改,是NGN即為下一代網絡中的重要協(xié)議,是由IETF制定的多媒體通信協(xié)議。會話的參與者可以通過組播、網狀單播或兩者的混合體進行通信。信令(Signaling)是指通信系統(tǒng)中的控制指令,如:狀態(tài)上報,配置參數下發(fā),網絡資源調度,是實現(xiàn)音視頻通信的重要一環(huán)。要實現(xiàn)音視頻通信,需要經過信令服務器交換信息:媒體信息、網絡信息、具體業(yè)務(例如:拉流,暫停,加入房間,禁言等)
圖3 信令控制服務過程
媒體信息:在雙端通信之前,通過SDP(SessionDescription Protocal)會話描述協(xié)議了解雙方具備哪些能力,SDP媒體信息攜帶了編解碼器是什么,是否支持音頻視頻,編碼方式是什么等。
圖4 SDP會話描述協(xié)議中的關鍵屬性
網絡信息:當A向B通信時,首先將網絡相關信息傳到信令服務器,服務器幫你交換到對端,對端拿到你的信息后,若在同一局域網內,直接通過P2P傳輸;若不在,首先進行P2P穿越,看是否能打通,打通則傳輸,打不通則中轉等。
Part 04●??SIPP性能測試?●
在SIPP測試過程前,我們先了解sip創(chuàng)建/結束會話過程:
1.主叫方向被叫方發(fā)送SIP INVITE 請求消息(攜帶SDP),請求建立會話
2.被叫方返回SIP 200 OK響應消息(攜帶SDP),接受會話建立請求
3.主叫方發(fā)送SIP ACK 請求消息確認會話的建立。
4.會話中的任意一方可以發(fā)送SIP BYE 請求消息,請求結束會話;
5.另一方返回SIP 200 OK響應消息,接受會話結束請求。
圖5 sip創(chuàng)建/結束會話過程
SIPP可以用來測試許多真實的SIP設備,如SIP代理、B2BUAS,SIP服務器,SIP/X網關、SIPPBX等等,它可以模仿上千萬個SIP代理呼叫你的SIP系統(tǒng)。
? 以模擬UAC為例,測試步驟:
1.用戶操作端口設備的管控功能,如拉流,暫停,云臺控制等功能
2.xshell鏈接信令所在服務器,執(zhí)行抓包命令tcpdump -i any -s 0 -w xx.pcap
3.使用xftp將抓包xx.pcap文件同步到本地 ,使用wireshark 查看
4.根據sip的交互報文,編寫sipp腳本(如右圖1)
5.將uac腳本放在在sipp部署的服務器目錄下執(zhí)行以下命令:
6.sipp -i 172.xx.xx.86 -p 5xxx5 -sf uac3.xml -inf data.csv 172.xxx.xxx.38:5xx0 -r 1 -l 10 -m 20
圖6 SIPP性能測試腳本編寫
Part 05●??結束語?●
隨著新一代信息技術的快速發(fā)展,我們已經進入了進入一個全新的智能時代。作為質量保障部門,一方面我們要深入了解業(yè)務所涉及的技術,另一方面要探究質量保障方法為家庭安防生態(tài)業(yè)務發(fā)展保駕護航。