freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式gprs遠(yuǎn)程無(wú)線(xiàn)視頻監(jiān)控系統(tǒng)論文-資料下載頁(yè)

2025-06-28 13:54本頁(yè)面
  

【正文】 決定,當(dāng)它設(shè)置成一1時(shí),XviD系統(tǒng)自動(dòng)選擇當(dāng)前編碼是否為I幀或P幀。當(dāng)網(wǎng)絡(luò)狀況比較良好時(shí)(丟包數(shù)較少),可以適當(dāng)減少I(mǎi)幀數(shù)量,這樣可以提高服務(wù)質(zhì)量。當(dāng)網(wǎng)絡(luò)丟包率上升時(shí),就要考慮增加I幀數(shù)量,這樣可以更快更好地修正、掩蓋錯(cuò)誤。本章首先介紹了嵌入式Linux下利用USB攝像頭實(shí)現(xiàn)視頻采集的方法,然后介紹了圖像識(shí)別報(bào)警子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),提出了基于邊緣的背景去除的圖像識(shí)別算法并給出了報(bào)警郵件發(fā)送的原理與實(shí)現(xiàn),音頻采集驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn),給出了圖像JPEG和MPEG4的視頻壓縮的設(shè)計(jì)步驟,并通過(guò)Linux下多線(xiàn)程程序的設(shè)計(jì)方法完成多個(gè)模塊設(shè)計(jì)。 第五章網(wǎng)絡(luò)視頻傳輸模塊軟件設(shè)計(jì)數(shù)據(jù)在網(wǎng)絡(luò)上傳輸需要遵守一定的網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)的類(lèi)型決定了網(wǎng)絡(luò)協(xié)議的選取。針對(duì)網(wǎng)絡(luò)上傳輸視頻等實(shí)時(shí)數(shù)據(jù)的需要,電信業(yè)和計(jì)算機(jī)業(yè)許多國(guó)際組織進(jìn)行許多標(biāo)準(zhǔn)化的工作,現(xiàn)在較為關(guān)鍵的協(xié)議有RTP/RTCP, RTSP等。在TCP/IP參考模型中,傳輸層通信協(xié)議TCP和UDP都不能滿(mǎn)足流媒體傳輸?shù)腝oS要求。TCP協(xié)議采用滑動(dòng)窗口控制機(jī)制,數(shù)據(jù)傳輸隨著流控窗口動(dòng)態(tài)的啟動(dòng)和關(guān)閉,加上TCP重傳造成的時(shí)延,使其難以滿(mǎn)足流媒體實(shí)時(shí)的傳送要求。UDP協(xié)議的無(wú)連接特點(diǎn)能夠提高傳輸速率,雖然可以在某種程度上滿(mǎn)足流媒體的實(shí)時(shí)性要求,但是由于其沒(méi)有提供擁塞控制和質(zhì)量保證機(jī)制,也無(wú)法滿(mǎn)足流媒體傳輸?shù)男枰?。為了?shí)現(xiàn)流媒體在IP上的實(shí)時(shí)傳送播放,需要在傳輸層協(xié)議((TCP/UDP)和應(yīng)用層之間增加一個(gè)通信控制層。在增加的通信控制層,采用相應(yīng)的實(shí)時(shí)傳輸協(xié)議,主要有:數(shù)據(jù)流部分的實(shí)時(shí)傳輸協(xié)議RTP(Realtime Transport Protocol),用于控制部分的實(shí)時(shí)傳輸控制協(xié)議RTCP(Realtime Transport Control Protocol),實(shí)時(shí)流協(xié)議RTSP(RealtimeStreaming Protocol)。下圖是整個(gè)監(jiān)控系統(tǒng)所涉及到的協(xié)議以及相互關(guān)系。圖5. 1流媒體傳輸控制協(xié)議棧(1)RTP/RTCP協(xié)議簇實(shí)時(shí)傳輸協(xié)議RTP(Realtime Transport Protocol)是用于Internet上針對(duì)多媒體數(shù)據(jù)流的一種傳輸協(xié)議。RTP本身并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務(wù)。通常RTP算法并不作為一個(gè)獨(dú)立的網(wǎng)絡(luò)層來(lái)實(shí)現(xiàn),而是作為應(yīng)用程序代碼的一部分。實(shí)時(shí)傳輸控制協(xié)議RTCP(RealtimeTransport Control Protocol)和RTP一起提供流量控制和擁塞控制服務(wù)。在RTP會(huì)話(huà)期間,各參與者周期性地傳送RTCP包[f2}10(2)實(shí)時(shí)流協(xié)議RTSP實(shí)時(shí)流協(xié)議RTSP(Realtime Streaming Protocol)是應(yīng)用級(jí)協(xié)議,用于控制具有實(shí)時(shí)特性的數(shù)據(jù)傳輸,它提供一個(gè)可擴(kuò)展的框架,以使諸如音頻和視頻之類(lèi)的實(shí)時(shí)媒體的點(diǎn)播傳輸成為可能[28]。RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TC39。,P或RTP完成數(shù)據(jù)傳輸。圖5. 2流媒體傳輸功能框圖監(jiān)控系統(tǒng)是在傳輸層協(xié)議((TCP,UDP)上解釋RTP, RTCP, RTSP協(xié)議的,所有的客戶(hù)連接請(qǐng)求都是以TCP的端口獲得的,流媒體數(shù)據(jù)也都是打成RTP包,通過(guò)UDP端口發(fā)出去的。當(dāng)監(jiān)控系統(tǒng)面對(duì)一個(gè)單一的客戶(hù),完成的過(guò)程如下:(1)在客戶(hù)端發(fā)出RTSP連接請(qǐng)求后,服務(wù)器通過(guò)對(duì)TCP端口的監(jiān)聽(tīng),讀入請(qǐng)求。(2)解析請(qǐng)求內(nèi)容,調(diào)入相應(yīng)的流媒體文件。(3)形成RTP包,分發(fā)數(shù)據(jù)流包,獲得RTCP包。(4)數(shù)據(jù)包發(fā)送完畢,關(guān)閉連接。 RTP/RTCP協(xié)議分析與實(shí)現(xiàn)5. 2. 1 R丁P協(xié)議分析一個(gè)RTP數(shù)據(jù)包包括一個(gè)12個(gè)字節(jié)的固定RTP數(shù)據(jù)頭,參與源表示符和擴(kuò)展頭是可選的。:圖5. 3 RTP包格式版本((v, 2bit):這個(gè)域標(biāo)識(shí)RTP的版本。RFC3550定義的版本是20填充位((p, lbit):表明有一個(gè)或多個(gè)不是載荷數(shù)據(jù)的填充字節(jié)在包尾,最后一個(gè)填充字節(jié)包含了填充字節(jié)的個(gè)數(shù)。擴(kuò)展位((x, 1 bit):在固定頭后面接著一個(gè)擴(kuò)展頭。擴(kuò)展機(jī)制能夠應(yīng)用于傳遞控制信息,而不需要中間節(jié)點(diǎn)的解釋。RTP擴(kuò)展報(bào)頭是兩個(gè)字節(jié),包含一個(gè)右對(duì)齊的16比特長(zhǎng)度的域,指示擴(kuò)展的長(zhǎng)度。它必須在標(biāo)準(zhǔn)RTP報(bào)頭(后面會(huì)看到,要么是SSRC項(xiàng),要么是CSRS項(xiàng))的最后一個(gè)有效域之后插入。CSRC源記數(shù)(CC, 4bit): CSRC是在固定報(bào)頭后CSRC標(biāo)識(shí)符的數(shù)目。這個(gè)數(shù)值用于來(lái)支持混合器的“混合”功能?;旌掀鲝亩鄠€(gè)信源收集多媒體流,把它們合并成為一個(gè)包,然后轉(zhuǎn)發(fā)到目的地。標(biāo)記位(M, 1 bit):標(biāo)一記的解釋是由配置來(lái)定義的。它可以用來(lái)在包流中標(biāo)記重要事件,比如幀邊界。配置可以定義另外的標(biāo)記位,或者通過(guò)改變有效載荷類(lèi)型域中的比特?cái)?shù)來(lái)代替使用標(biāo)記位。M比特位意味著談話(huà)的突然開(kāi)始或者圖像幀的結(jié)束。有效載荷類(lèi)型((PT, 7bit):這個(gè)域標(biāo)志RTP有效載荷類(lèi)型的格式,并且決定應(yīng)用程序?qū)λ慕忉尅P蛄芯幪?hào)(sequence number, 16bit):序列編號(hào)起始為一個(gè)隨機(jī)數(shù),每發(fā)送一個(gè)RTP包,序列編號(hào)加一。它可被接收者用于檢測(cè)包丟失和恢復(fù)包順序。時(shí)間戳(timestamp, 32bit):時(shí)間戳是在RTP數(shù)據(jù)包的第一個(gè)字節(jié)采樣時(shí)刻。采樣時(shí)刻必須隨時(shí)間單調(diào)線(xiàn)形增加,以允許同步和抖動(dòng)計(jì)算。時(shí)鐘分辨率必須滿(mǎn)足要求的同步精確度,以及對(duì)包到達(dá)抖動(dòng)的測(cè)量,并且可以分接成端到端延遲的分辨率。時(shí)鐘頻率與作為載荷攜帶的數(shù)據(jù)格式無(wú)關(guān)。對(duì)于周期性發(fā)送RTP包而言,采樣時(shí)刻是由采樣時(shí)鐘確定的。如果一個(gè)應(yīng)用每讀入一個(gè)數(shù)據(jù)塊要占據(jù)n個(gè)采樣周期,則無(wú)論數(shù)據(jù)塊被發(fā)送或丟棄,每個(gè)時(shí)間戳標(biāo)記都增加no同步源SSRC(32bit): SSRC標(biāo)志同步信源,數(shù)值是隨機(jī)選取的,且在同一個(gè)RTP會(huì)話(huà)中沒(méi)有兩個(gè)發(fā)送者的SSRC標(biāo)識(shí)相同。參與源CSRC列表((0} 15項(xiàng),每項(xiàng)32bit): CSRC列表標(biāo)識(shí)提供這個(gè)包中包含的所有有效載荷的信源。標(biāo)識(shí)符的數(shù)量是由CC域確定的。CSRC標(biāo)識(shí)符僅在通過(guò)混合器時(shí)插入。當(dāng)端點(diǎn)發(fā)出有效載荷時(shí),CSRC域用來(lái)對(duì)信源標(biāo)識(shí)進(jìn)行更正。5. 2. 2 RTCP協(xié)議分析在RFC3550中說(shuō)明的和RTP相配的控制協(xié)議是RTCPoRTCP包把關(guān)于會(huì)話(huà)質(zhì)量的端到端信息傳送給每個(gè)參與者。像包延遲、抖動(dòng)、收到和包丟失等數(shù)值對(duì)網(wǎng)絡(luò)而言非常有價(jià)值,可以用來(lái)實(shí)時(shí)估計(jì)網(wǎng)絡(luò)自身的狀態(tài)。有5種類(lèi)型的RTCP包:SR: Sender Report,發(fā)送者報(bào)告RR: Receiver Report,接收者報(bào)告SDES : Source DEScription,信源說(shuō)明BYE: Hang up from a session,掛斷會(huì)話(huà)APP: ApplicationSpecific acket,特定應(yīng)用的包系統(tǒng)中,并不是5種RTCP報(bào)文都必須實(shí)現(xiàn),其中SDES報(bào)文主要功能是作為媒體會(huì)話(huà)成員標(biāo)識(shí)信息的載體,此報(bào)文的功能在本視頻傳輸方案中是多余的,另外,APP報(bào)文目的是測(cè)試新開(kāi)發(fā)的應(yīng)用和特征,這里也不實(shí)現(xiàn)。本系統(tǒng)實(shí)現(xiàn)三個(gè)報(bào)文:發(fā)送者報(bào)文SR、接收者報(bào)文RR和結(jié)束會(huì)話(huà)BYE報(bào)文。RTCP報(bào)文由公共報(bào)頭部分和結(jié)構(gòu)化的內(nèi)容組成,報(bào)文內(nèi)容根據(jù)報(bào)文類(lèi)型的不同而具有不同的長(zhǎng)度,一般以犯位為邊界。這里先對(duì)SR報(bào)文加以說(shuō)明。SR報(bào)文一般由三部分組成:RTCP公共報(bào)頭、發(fā)送者信息和接收者報(bào)告塊。,未采用RTCP標(biāo)準(zhǔn)包中的P, SC等域,也未采用標(biāo)準(zhǔn)SR報(bào)文格式中的第三部分接收者信息部分。 sR報(bào)文格式(1) RTCP公共報(bào)頭部分.V:版本號(hào),2bit,當(dāng)前版本為2。.P:填充標(biāo)志,lbit,如果填充標(biāo)志為1,則在單一報(bào)文中尾部填充八位組。.RC:接收?qǐng)?bào)告計(jì)數(shù),Sbit,指出接收?qǐng)?bào)告的塊的個(gè)數(shù)。.PT:報(bào)文類(lèi)型,8bit,SR類(lèi)型為200。.報(bào)文長(zhǎng)度:16bit,RTCP報(bào)文長(zhǎng)度減1,包括報(bào)頭和填充,以32位為單位。.SSRC標(biāo)識(shí)符:32bit,發(fā)送該SR報(bào)文的同步信源標(biāo)識(shí)符。(2)發(fā)送者信息部分.NTP時(shí)戳:64bit,指出該SR報(bào)文發(fā)送時(shí)的全局網(wǎng)絡(luò)時(shí)間。.RTP時(shí)戳:32bit,和NTP時(shí)戮一致的時(shí)間,但必須和RTP報(bào)文中的時(shí)戳保持相同的時(shí)間單位。.發(fā)送者報(bào)文計(jì)數(shù):32bit,發(fā)送者從開(kāi)始傳送RTP報(bào)文到該SR報(bào)文產(chǎn)生的時(shí)間間隔內(nèi)共發(fā)送的RTP報(bào)文總數(shù)。.發(fā)送者有效載荷字節(jié)計(jì)數(shù):32bit,發(fā)送者從開(kāi)始傳送RTP報(bào)文到該SR報(bào)文產(chǎn)生的時(shí)間間隔內(nèi)共發(fā)送的有效載荷總數(shù),字節(jié)為單位。RR報(bào)文和SR報(bào)文格式基本相同,只是RR報(bào)文不包括SR報(bào)文格式中的第二部分,即發(fā)送者信息部分,報(bào)文類(lèi)型PT=201 o BYE報(bào)文格式更簡(jiǎn)單,它是RTCP公共報(bào)頭部分,即SR中的第一部分,加上一個(gè)32位數(shù)據(jù),在程序中填充的是IP地址,通知對(duì)方此IP要退出會(huì)話(huà),BYE報(bào)文的類(lèi)型值PT =203。5. RTP/RTCP協(xié)議的軟件設(shè)計(jì)與實(shí)現(xiàn)根據(jù)前面介紹的RTP/RTCP協(xié)議的報(bào)頭結(jié)構(gòu),這里給出它的程序?qū)崿F(xiàn)。RTP協(xié)議的代碼可以分為四類(lèi):與協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu)、處理傳入和發(fā)送RTP數(shù)據(jù)分組的代碼、處理接收和傳輸RTCP報(bào)文的代碼以及常用工具函數(shù)。具體的代碼及其說(shuō)明如下:首先給出RTP報(bào)頭結(jié)構(gòu)和接收發(fā)送端的數(shù)據(jù)結(jié)構(gòu)。struct RTP一ead刊RTP報(bào)頭結(jié)構(gòu)。 unsigned int rtpwe ver。//協(xié)議版本字段,2bit。 unsigned int rtp}ad。//填充標(biāo)志,lbit。 unsigned int rtp_ ext。//擴(kuò)展標(biāo)志lbit。 unsigned int rtp_cc。//CSRC計(jì)數(shù)器,Obit。 unsigned int rtp_mark。//標(biāo)記,lbit。 unsigned int rtp payload。//有效載荷類(lèi)型,7bit。 unsigned short rtp_ seq。//序列號(hào),16bit。 unsigned int rtpes timestamp。//時(shí)間戳,32bit。 unsigned int rtp_ssrc。//同步信源標(biāo)識(shí)符,32bit。 unsigned int rtp_csrc。//特約信源標(biāo)識(shí)符,32bit。}。struct RTPes RECV {//接收端數(shù)據(jù)包數(shù)據(jù)結(jié)構(gòu)。 unsigned int rtpes rec len。//數(shù)據(jù)包總長(zhǎng)度,按字節(jié)計(jì)數(shù)。 unsigned int rtpee rec seq。//擴(kuò)展序列號(hào),防止序列號(hào)溢出。 struct RTPee RECV *next。//指向下一個(gè)序列號(hào)低于本數(shù)據(jù)包序列號(hào)的報(bào)文。 struct RTP_RECV *prev。//指向下一個(gè)序列號(hào)高于本數(shù)據(jù)包序列號(hào)的報(bào)文。 struct RTP一 HEAD rtpes rec。//RTP數(shù)據(jù)包。}。struct RTP_SEND{//發(fā)送方的數(shù)據(jù)包數(shù)據(jù)結(jié)構(gòu)和接收端數(shù)據(jù)結(jié)構(gòu)必須具有相同的結(jié)構(gòu)類(lèi)型,即其內(nèi)的變量類(lèi)型和順序要一致 unsigned int rtp_sendto len。 unsigned int send seq。 struct RTP_ SEND *next。 struct RTP_ SEND *prev。 struct RTPes HEAD rtpes send。}。下面給出RTCP公共報(bào)文格式數(shù)據(jù)結(jié)構(gòu)、SR數(shù)據(jù)結(jié)構(gòu)和RR數(shù)據(jù)結(jié)構(gòu)。在SR和RR數(shù)據(jù)結(jié)構(gòu)中不再定義公共字段,組成完整的符合協(xié)議要求的RTCP報(bào)文。對(duì)于BYE報(bào)文,則不單獨(dú)實(shí)現(xiàn)它的數(shù)據(jù)結(jié)構(gòu),而是用一個(gè)RTCP公共報(bào)文加上一個(gè)要求結(jié)束會(huì)話(huà)端的IP地址的方式,在專(zhuān)門(mén)的函數(shù)中實(shí)現(xiàn)。/*RTCP協(xié)議公共報(bào)頭*/struct RTCP Head{ unsigned int RTCPwe Ver。 unsigned int RTCP_Pad。 unsigned int RTCP_Count。 unsigned char RTCP Type。 unsigned short RTCP一 Length。 unsigned int RTCP_SSRC。}。/*發(fā)送者報(bào)文SR*/struct RTCP SR Head{ long double RTCP一TP。 unsigned int RTCPes RTP_ Stamp。 unsigned int RTCP_ Sendes Pack Count。 unsigned int RTCP_ Sendes Data一 Count。 unsigned int RTCP SSRC l。 unsigned int RTCP工ostes Rate。 unsigned int RTCP_ Lost Total。 unsigned int RTCP~ Max_ Seq。 unsigned int RTCP_ Timees Delay。 unsigned int RTCP LSR。 unsigned int RTCP DLSR。 unsigned int RTCP_ SSRC_2。}。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)完后,就可以根據(jù)協(xié)議編寫(xiě)相關(guān)函數(shù)了,核心函數(shù)有:(1)void RTP Init (unsigned int,int)。 RTPes Init C)先把保存會(huì)話(huà)信息的數(shù)據(jù)結(jié)構(gòu)清零,接著便創(chuàng)建一個(gè)分組緩沖池以及線(xiàn)程所使用的必要的條件變量和互斥量,并啟動(dòng)兩個(gè)線(xiàn)程,一個(gè)用于處理傳入的RTP分組,另一個(gè)用于處理傳入的RTCP分組。(2)void RTP Packet HEAD(struct RTP_HEAD*)。該函數(shù)初始化一個(gè)RTP包,填充包信息。(3)void RTP一acket MPEG4(struct
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1