RTP打包G711音訊資料傳送

2021-09-02 01:20:37 字數 1391 閱讀 5710

前面部落格講過g711編碼,有兩種g711a/g711u,主要在安防中應用,是一幀波形編碼的音訊資料,只是將pcm壓縮一半資料量。一般g711,取樣率8000,通道數1。所以g711中1b就是乙個樣本資料。g711打包rtp非常簡單,只要在g711資料前加上rtp頭即可。g711沒有想aac那樣,按照幀一幀一幀傳送,而是設定乙個打包頻率,打包頻率有10ms,20ms,30ms,40ms 等。如40ms的打包頻率,1s打包25幀,1s需要傳送8000個樣本,所以一幀需要8000/25=320個樣本,rtp時間戳增量絕對值是320/8000s,協議要求以取樣率作為時鐘頻率,所以rtp時間戳為 (320/8000)*8000。

負載型別定義如下:

enum rtp_payload_type

;

rtp打包格式

12brtp頭

g711 負載

demo程式採用jrtplib實現 ,把g711音訊資料打包成rtp傳送到指定埠。

#include #include #include #include #include #include #include #include #include #include using namespace jrtplib;

uint16_t ilocalport = 6666;

uint16_t idestport = 12000;

uint8_t szdestaddr=;

file *pg711file = null;

void checkerror(int rtperr)

}void rtpprintf(uint8_t *buf, uint16_t len)

{ uint16_t i=0;

printf("rtp len=%d : \n", len);

for(i=0; i編譯環境 centos6.5,debug目錄執行「make clean;make」重新編譯,」./run.sh「執行即可。

g711檔案開啟

數控程式設計G71的使用方法

先把精車路徑寫上,再加上n1 和 n2 鏜孔 if 204 1 then t0303m3s1500 g73起始點定位,決定起刀點,想從 開始切削就要定位到 會預設減去g73u 0.1的餘量開始切削第一刀 g0z1.起始z軸定位 g0x 301 0.1 m8 301 材料 內徑 起始x軸定位 g73u...

h264碼流rtp打包(一)

一幀image 編碼完的資料儲存在 h264buffer 中,編碼後的 h264 碼流的大小為 nh264size 因為對於nalu,並不是一幀對應乙個nalu,而是對於slice而言,乙個slice就封裝層乙個nal,所以一幀可以有多個slice,即一幀有多個nal。具體一幀中有幾個nalu則是可...

linphone中h264的 RTP打包 二

html view plain copy 今天發現乙個奇怪的問題,用上位機的linphone客戶端撥打下位機的sip客戶端能夠正常工作,但是反過來就出問題了。抓包發現linphone傳送了大量的ip fragmentation 資料報,google才知道,當發現的資料大於mtu時就發產生ip分片的資...