青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

談談RTP傳輸中的負載類型和時間戳

轉(zhuǎn)載自:http://ticktick.blog.51cto.com/823160/350142

    最近被RTP的負載類型和時間戳搞郁悶了,一個問題調(diào)試了近一周,終于圓滿解決,回頭看看,發(fā)現(xiàn)其實主要原因還是自己沒有真正地搞清楚RTP協(xié)議中負載類型和時間戳的含義。雖然做RTP傳輸,有著JrtplibOrtp這兩個強大的庫支持,一個是c++接口,一個是c語言接口,各有各的特點,各有各的應用環(huán)境,但是僅僅有庫就能解決一切問題嗎?可能仿照著一些例子程序,你能夠完成主要的功能,但一旦問題發(fā)生了,不清楚原理你是很難定位和解決問題的,所以在此,用我的經(jīng)驗勸勸大家,磨刀不誤砍柴工,做應用還是先把原理搞清楚再動手吧……
    看這篇文章之前,首先你應該知道什么是RTP協(xié)議,可以去看RTP協(xié)議原文(RFC3550協(xié)議),也可以看一些網(wǎng)友對RTP協(xié)議的講解的文章,很多,這里我提供一篇我個人覺得寫得還不錯的:
http://blog.csdn.net/bripengandre/archive/2008/04/01/2238818.aspx 

   好,下面言歸正傳,首先談談RTP傳輸中的負載類型吧。

    首先,看RTP協(xié)議包頭的格式:
          

    10~16 Bit為PT域,指的就是負載類型(PayLoad),負載類型定義了RTP負載的格式,協(xié)議原文說該域由具體應用決定其解釋。
    目前,負載類型主要用來告訴接收端(或者播放器)傳輸?shù)氖悄姆N類型的媒體(例如G.729,H.264,MPEG-4等),這樣接收端(或者播放器)才知道了數(shù)據(jù)流的格式,才會調(diào)用適當?shù)木幗獯a器去解碼或者播放,這就是負載類型的主要作用。

    就ORTP庫(本文用的是ortp-0.9.1)而言,負載類型定義如下:

        

    每一種負載類型都有著其獨特的參數(shù),這里基本上涵蓋了當前主流的一些媒體類型,例如pcmu 、g.729、h.263(很奇怪,竟然沒有定義h.264,注:新版本已經(jīng)添加了對h.264的支持)、mpeg-4等等。Jrtplib庫應該也有相類似的定義,你可以去找找源碼,在此我就不再贅述了。

    在ORTP庫和JRTplib庫中,都提供了設置RTP負載類型的函數(shù),千萬要記得根據(jù)實際的應用進行設置,我就是當時沒有注意,使用ORTP默認的pcmu音頻的負載類型,傳輸H.264編碼的視頻數(shù)據(jù),結果傳輸中一直有問題,困擾我好久好久

    好了,再說說RTP的時間戳吧。

    首先,了解幾個基本概念:

    時間戳單位:時間戳計算的單位不是秒之類的單位,而是由采樣頻率所代替的單位,這樣做的目的就是為了是時間戳單位更為精準。比如說一個音頻的采樣頻率為8000Hz,那么我們可以把時間戳單位設為1 / 8000。
    時間戳增量:相鄰兩個RTP包之間的時間差(以時間戳單位為基準)。
    采樣頻率:  每秒鐘抽取樣本的次數(shù),例如音頻的采樣率一般為8000Hz
    幀率:      每秒傳輸或者顯示幀數(shù),例如25f/s
    
    再看看RTP時間戳課本中的定義:

    RTP包頭的第2個32Bit即為RTP包的時間戳,Time Stamp ,占32位。
    時間戳反映了RTP分組中的數(shù)據(jù)的第一個字節(jié)的采樣時刻。在一次會話開始時的時間戳初值也是隨機選擇的。即使是沒有信號發(fā)送時,時間戳的數(shù)值也要隨時間不斷的增加。接收端使用時間戳可準確知道應當在什么時間還原哪一個數(shù)據(jù)塊,從而消除傳輸中的抖動。時間戳還可用來使視頻應用中聲音和圖像同步。
    在RTP協(xié)議中并沒有規(guī)定時間戳的粒度,這取決于有效載荷的類型。因此RTP的時間戳又稱為媒體時間戳,以強調(diào)這種時間戳的粒度取決于信號的類型。例如,對于8kHz采樣的話音信號,若每隔20ms構成一個數(shù)據(jù)塊,則一個數(shù)據(jù)塊中包含有160個樣本(0.02×8000=160)。因此每發(fā)送一個RTP分組,其時間戳的值就增加160。

    官方的解釋看懂沒?沒看懂?沒關系,我剛開始也沒看懂,那就聽我的解釋吧。

    首先,時間戳就是一個值,用來反映某個數(shù)據(jù)塊的產(chǎn)生(采集)時間點的,后采集的數(shù)據(jù)塊的時間戳肯定是大于先采集的數(shù)據(jù)塊的。有了這樣一個時間戳,就可以標記數(shù)據(jù)塊的先后順序。
    第二,在實時流傳輸中,數(shù)據(jù)采集后立刻傳遞到RTP模塊進行發(fā)送,那么,其實,數(shù)據(jù)塊的采集時間戳就直接作為RTP包的時間戳。
    第三,如果用RTP來傳輸固定的文件,則這個時間戳就是讀文件的時間點,依次遞增。這個不再我們當前的討論范圍內(nèi),暫時不考慮。
    第四,時間戳的單位采用的是采樣頻率的倒數(shù),例如采樣頻率為8000Hz時,時間戳的單位為1 / 8000 ,在Jrtplib庫中,有設置時間戳單位的函數(shù)接口,而ORTP庫中根據(jù)負載類型直接給定了時間戳的單位(音頻負載1/8000,視頻負載1/90000)
    第五,時間戳增量是指兩個RTP包之間的時間間隔,詳細點說,就是發(fā)送第二個RTP包相距發(fā)送第一個RTP包時的時間間隔(單位是時間戳單位)。
    如果采樣頻率為90000Hz,則由上面討論可知,時間戳單位為1/90000,我們就假設1s鐘被劃分了90000個時間塊,那么,如果每秒發(fā)送25幀,那么,每一個幀的發(fā)送占多少個時間塊呢?當然是 90000/25 = 3600。因此,我們根據(jù)定義“時間戳增量是發(fā)送第二個RTP包相距發(fā)送第一個RTP包時的時間間隔”,故時間戳增量應該為3600。
 
      【補充】:最近思考了一下,又有了新的體會和解釋,可能對大家更容易地去理解這個時間戳增量會有所幫助,補充在下面吧:
 
       其實,網(wǎng)絡發(fā)送重點關注的是流量的平衡,即均勻地利用網(wǎng)絡帶寬,為了實現(xiàn)這一點,需要滿足:數(shù)據(jù)采集的速率與數(shù)據(jù)網(wǎng)絡傳輸?shù)乃俾时M量保持一致。時間戳增量的設置影響的是RTP包的網(wǎng)絡傳輸?shù)乃俾剩瑫r間戳增量越小,發(fā)送速度越快。
 
      下面再進一步解釋一下時間戳增量是怎么計算出來的:
 
      對于PAL制式的視頻而言,每秒攝像頭會采集 25 幀 數(shù)據(jù),那么,每采集到 1幀 耗時 1/25 s ,如果我們設計為1個RTP包只包含1幀數(shù)據(jù),并且一次發(fā)送1幀,那么,要想網(wǎng)絡流量均勻,則時間戳增量應該設計為 1/25 s .  而在一般的RTP協(xié)議的實現(xiàn)中,時間戳單位不是 秒(s),而約定為采樣頻率的倒數(shù),由于一般視頻的采樣頻率是 90000,故時間戳單位為 1/90000 s,因此,實際的時間戳增量 = 時間戳增量 ( 1/25 s ) / 時間戳單位(1/90000 s) = 3600  

   
 在Jrtplib中好像不需要自己管理時間戳的遞增,由庫內(nèi)部管理。但在ORTP中每次數(shù)據(jù)的發(fā)送都需要自己傳入時間戳的值,即自己需要每次發(fā)完一個RTP包后,累加時間戳增量,不是很方便,這就需要自己對RTP的時間戳有比較深刻地理解,我剛開始就是因為沒搞清楚,隨時設置時間戳增量導致傳輸一直有問題,困擾我好久。

    好了,關于RTP的負載類型和時間戳的介紹就到這里了,這次通過解決RTP傳輸中的問題學到了不少知識,在此分享希望對大家有用。有說得不正確的地方歡迎高手指教,也可以來信交流:lujun.hust@gmail.com
 

本文出自 “對影成三人” 博客,請務必保留此出處http://ticktick.blog.51cto.com/823160/350142

posted on 2013-09-03 02:35 楊粼波 閱讀(595) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一二三区在线| 亚洲一本大道在线| 国产午夜精品麻豆| 亚洲美女毛片| 在线观看日韩专区| 欧美一区二区三区视频免费| 亚洲精品国产日韩| 久久久精品久久久久| 欧美亚洲在线播放| 国产精品国产三级国产aⅴ浪潮 | 亚洲欧洲精品一区二区三区不卡| 亚洲免费视频观看| 亚洲欧美日韩国产一区二区三区 | 欧美.www| 国产一区二区三区高清播放| 亚洲无线视频| 亚洲香蕉视频| 欧美午夜在线一二页| 亚洲日本中文字幕| 亚洲韩国日本中文字幕| 久久久久久91香蕉国产| 久久频这里精品99香蕉| 国产亚洲人成a一在线v站| 午夜日韩电影| 久久亚洲一区| 1204国产成人精品视频| 久久婷婷蜜乳一本欲蜜臀| 狼人社综合社区| 亚洲国产一二三| 猛干欧美女孩| 91久久精品日日躁夜夜躁国产| 亚洲人成久久| 欧美精品久久一区| 99re热这里只有精品视频| 亚洲一区二区三区777| 国产精品爱久久久久久久| 亚洲女同同性videoxma| 久久国产福利国产秒拍| 狠狠色丁香婷婷综合| 久久免费偷拍视频| 亚洲激情av| 亚洲午夜在线| 国产日韩欧美一区二区| 久久免费精品视频| 亚洲精品久久久久久久久久久久久 | 久久蜜桃香蕉精品一区二区三区| 韩日欧美一区二区三区| 蘑菇福利视频一区播放| 99综合电影在线视频| 久久成人在线| 亚洲精品国产视频| 国产精品一区久久| 久久久久久久性| 亚洲伦理一区| 久久久综合免费视频| 亚洲欧洲综合| 国产欧美一区二区三区在线老狼| 久久久久久婷| 亚洲夜间福利| 亚洲国产婷婷| 久久精品中文字幕一区| 99国产精品久久久久久久成人热 | 国内精品美女av在线播放| 欧美fxxxxxx另类| 中文日韩在线| 亚洲丁香婷深爱综合| 午夜欧美不卡精品aaaaa| 在线电影国产精品| 国产精品扒开腿做爽爽爽视频| 久久精品天堂| 一区二区三区四区五区在线| 欧美96在线丨欧| 香港成人在线视频| 一本色道久久加勒比88综合| 韩国欧美国产1区| 国产精品不卡在线| 欧美激情一区在线| 久久精品一区二区三区中文字幕| 99精品福利视频| 欧美α欧美αv大片| 性刺激综合网| 中文在线不卡视频| 亚洲黄色成人久久久| 国产一区二区三区在线观看免费视频| 欧美激情1区2区| 久久综合伊人77777蜜臀| 午夜精品一区二区在线观看| 日韩午夜三级在线| 亚洲福利专区| 另类尿喷潮videofree| 欧美一区二区三区久久精品茉莉花 | 99国产精品99久久久久久粉嫩| 老司机免费视频一区二区| 欧美一区二区免费观在线| 亚洲制服av| 亚洲无线观看| 日韩视频久久| 一区二区动漫| 一区二区欧美在线观看| 亚洲免费久久| 亚洲美女免费精品视频在线观看| 在线精品一区二区| 亚洲成色999久久网站| 精品999久久久| 在线不卡中文字幕| 亚洲高清视频一区| 在线精品视频在线观看高清 | 亚洲老板91色精品久久| 亚洲国产毛片完整版| 亚洲激情av| 亚洲乱码一区二区| 亚洲天堂av综合网| 亚洲欧美日韩精品综合在线观看| 亚洲欧美日韩中文播放| 欧美一区午夜精品| 久久久精品一区二区三区| 美国十次成人| 亚洲大胆视频| 亚洲免费观看在线观看| 一二三区精品| 亚洲午夜精品一区二区| 午夜视频久久久| 久久综合伊人77777| 欧美国产精品久久| 欧美午夜电影一区| 国产日韩欧美在线| 在线成人亚洲| 一本色道久久综合精品竹菊 | 国产精品国色综合久久| 国产精品久久久久一区| 国产日韩在线一区| 亚洲高清视频在线| 亚洲一二三四区| 欧美综合国产| 亚洲高清视频在线观看| 一区二区三区国产| 欧美专区日韩视频| 欧美顶级艳妇交换群宴| 欧美新色视频| 尤物网精品视频| 一区二区三区日韩精品| 久久高清国产| 亚洲日韩欧美视频| 欧美一区二区视频网站| 欧美顶级艳妇交换群宴| 国产精品亚洲综合久久| 91久久极品少妇xxxxⅹ软件| 亚洲一区日本| 欧美激情一区二区久久久| 亚洲女人av| 欧美美女福利视频| 国语精品一区| 午夜在线精品偷拍| 亚洲精品国偷自产在线99热| 先锋影音一区二区三区| 欧美另类综合| 在线观看精品一区| 欧美亚洲日本网站| 最新高清无码专区| 久久天天躁夜夜躁狠狠躁2022| 国产精品久在线观看| 亚洲美女精品成人在线视频| 久久频这里精品99香蕉| 一本色道久久综合亚洲二区三区 | 国产目拍亚洲精品99久久精品 | 亚洲七七久久综合桃花剧情介绍| 亚洲制服少妇| 欧美日韩精品久久久| 亚洲成人自拍视频| 久久久久久一区二区三区| 在线中文字幕一区| 欧美日韩视频| 一本久久综合亚洲鲁鲁五月天| 欧美高清视频一区二区三区在线观看| 午夜精品国产精品大乳美女| 国产精品成人午夜| 一区二区日韩伦理片| 亚洲黄色毛片| 嫩草成人www欧美| 亚洲第一视频网站| 麻豆精品在线播放| 久久久99国产精品免费| 国产一区二区毛片| 久久精品在线| 欧美一级大片在线观看| 国产乱人伦精品一区二区| 亚洲一区二区免费看| 99热这里只有精品8| 欧美日韩成人一区二区三区| 亚洲精品视频免费在线观看| 欧美国产亚洲精品久久久8v| 久久影院午夜论| 激情亚洲一区二区三区四区| 久久久久久久久久看片| 欧美在线一区二区| 一区二区在线视频播放| 欧美成人国产| 欧美freesex交免费视频| 亚洲毛片网站| 中文精品视频一区二区在线观看|