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

正文內(nèi)容

基于rtp協(xié)議的流媒體的實(shí)時(shí)傳輸?shù)膶?shí)現(xiàn)(編輯修改稿)

2024-09-01 21:15 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 若此位被設(shè)置,RTCP的尾部包含一些附加的補(bǔ)充位。接收?qǐng)?bào)告計(jì)數(shù)(RC):5位,此包中的接收?qǐng)?bào)告塊數(shù),0是允許的。包類型(PT):8位,發(fā)送方報(bào)告的RTCP包定義為200。長(zhǎng)度:16位,RTCP以32位計(jì)的長(zhǎng)度。同步源(SSRC):此包的同步源標(biāo)識(shí)符。 (2)包體,共20字節(jié),它描述發(fā)送方的數(shù)據(jù)傳送。 NTP時(shí)間戳:64位,定義本包發(fā)送時(shí)間,可以與接收方報(bào)告包中的時(shí)間戳比較,估計(jì)往返時(shí)間。RTP時(shí)間戳:32位,與NTP時(shí)間戳對(duì)應(yīng),而且與數(shù)據(jù)包中的RTP時(shí)間戳有相同的單位和相同的偏移值。發(fā)送RTP包計(jì)數(shù):32位,發(fā)送方從開始發(fā)送到發(fā)送本報(bào)通告為止共發(fā)送的負(fù)載字節(jié)數(shù),如果SSRC定義符被改變,本字段被重置。發(fā)送字節(jié)計(jì)數(shù):32位,發(fā)送方從開始發(fā)送到發(fā)送本報(bào)告為止發(fā)送的負(fù)載字節(jié)數(shù),如果SSRC定義符被改變,本字段被重置。 RTCP發(fā)送方數(shù)據(jù)包0 16 31VPPt=sr=200長(zhǎng)度SSRC同步源NTP時(shí)間戳高位NTP時(shí)間戳低位RTP時(shí)間戳發(fā)送者包計(jì)數(shù)發(fā)送者字節(jié)數(shù)SSRC_1(第一個(gè)發(fā)送源)丟失率累計(jì)丟包數(shù)擴(kuò)展的最大順序號(hào)間隔到達(dá)抖動(dòng)最近發(fā)送方報(bào)告的時(shí)間戳自最近發(fā)送方報(bào)告之后的延遲SSRC_2(第二個(gè)發(fā)送源)... ...文本擴(kuò)展部分(3)包含0個(gè)或多個(gè)接收?qǐng)?bào)告塊,它取決于發(fā)送方從上次報(bào)告起知道的其它源數(shù),每個(gè)接收?qǐng)?bào)告塊要表示從一個(gè)同步源RTP包的接收統(tǒng)計(jì)。當(dāng)源由于沖突改變它的SSRC標(biāo)識(shí)符時(shí),接收方不發(fā)送統(tǒng)計(jì)。統(tǒng)計(jì)項(xiàng)包括: ①SSRC_n(源標(biāo)識(shí)符):32位,SSRC源標(biāo)識(shí)符; ②丟失率:3位,自上一次發(fā)送SR或RR后,源SSRC_n的RTP數(shù)據(jù)包丟失率; ③累計(jì)丟失包數(shù):24位,接收開始后丟失包數(shù)的累計(jì); ④擴(kuò)展的最大順序號(hào):32位,低16位包含來自源SSRC_n的RTP數(shù)據(jù)包的最大順序號(hào),高16位使用相應(yīng)的順序號(hào)循環(huán)計(jì)數(shù)時(shí)順序號(hào)的擴(kuò)展; ⑤間隔到達(dá)抖動(dòng):32位,使用無符號(hào)整數(shù); ⑥最近發(fā)送方報(bào)告的時(shí)間戳(LSR):32位,最近接收的RTCP發(fā)送方報(bào)告包中NTP時(shí)間戳的中間32位,如無SR被接收,此字段為0; ⑦自最近發(fā)送方報(bào)告之后的延遲(DLSR):32位,從源SSRC_n接收的最后的SR包到發(fā)送此接收?qǐng)?bào)告塊之間的延遲,如無SR包從源SSRC_n被接收,則DLSR字段置0;接收方報(bào)告包(RR)的格式同SR包基本相同。不同點(diǎn)在于RR的包類型為201,并且5個(gè)發(fā)送者信息被省略(NTP和RTP時(shí)間戳,發(fā)送者的包和字節(jié)計(jì)數(shù))其它字段均相同。 第二章 總體方案設(shè)計(jì) 方案論證DirectShow是微軟公司提供的一套在Windows平臺(tái)上進(jìn)行流媒體處理的開發(fā)包,與DirectX開發(fā)包一起發(fā)布[6,7]。 DirectShow為多媒體流的捕捉和回放提供了強(qiáng)有力的支持。運(yùn)用DirectShow,可以很方便地從支持WDM驅(qū)動(dòng)模型的采集卡上捕獲數(shù)據(jù),并且進(jìn)行相應(yīng)的后期處理乃至存儲(chǔ)到文件中。它廣泛地支持各種媒體格式,包括Asf、Mpeg、Avi、Dv、MpWave等等,使得多媒體數(shù)據(jù)的回放變得輕而易舉。另外,DirectShow還集成了DirectX其它部分(比如DirectDraw、DirectSound)的技術(shù),直接支持DVD的播放,視頻的非線性編輯,以及與數(shù)字?jǐn)z像機(jī)的數(shù)據(jù)交換。更值得一提的是,DirectShow提供的是一種開放式的開發(fā)環(huán)境,我們可以根據(jù)自己的需要定制自己的組件。在處理多媒體信息時(shí),可能會(huì)碰到以下問題:,必須得到快速的處理。兩者應(yīng)同時(shí)開始,同時(shí)結(jié)束,協(xié)調(diào)工作。,包括:本地磁盤文件,計(jì)算機(jī)網(wǎng)絡(luò),電視廣播和攝像機(jī)。,包括:ASF,AVI,MPEG和DV。DirectShow的設(shè)計(jì)正是針對(duì)以上問題。它的主要設(shè)計(jì)目標(biāo)是把數(shù)字媒體應(yīng)用程序與復(fù)雜的數(shù)據(jù)傳輸,多樣的硬件設(shè)備和同步隔離開,從而簡(jiǎn)化在Windows平臺(tái)上創(chuàng)建程序的工作。為了達(dá)到視頻流和聲音流需要的吞吐量,只要可能,DirectShow會(huì)調(diào)用DirectDraw和DirectSound。這些技術(shù)將多媒體數(shù)據(jù)通過用戶的顯卡和聲卡有效的表現(xiàn)出來。DirectShow將媒體數(shù)據(jù)封裝到帶有時(shí)間戳的樣本中,以實(shí)現(xiàn)同步回放。為了適應(yīng)數(shù)據(jù)來源、格式和硬件設(shè)備的多變,DirectShow采用模塊化的系統(tǒng)結(jié)構(gòu),其中由應(yīng)用程序?qū)⒉煌能浖M件——過濾器組合并匹配起來。DirectShow提供有支持基于WDM驅(qū)動(dòng)程序的捕捉和調(diào)諧設(shè)備的過濾器,也有支持早期的VFW視頻捕捉卡的過濾器以及為ACM(Audio Compression Manager)和VCM(Video Compression Manager)接口編寫的編解碼器。 方案二. 在嵌入式平臺(tái)下實(shí)現(xiàn)流媒體實(shí)時(shí)傳輸在幾種嵌入式操作系統(tǒng)中,幾款商業(yè)操作系統(tǒng)像WindowCE和VxW6kr,不僅具有較高的性能和良好的移植性,而且也提供了良好的開發(fā)環(huán)境和技術(shù)服務(wù)。但是都需要較高的成本,這是在嵌入式系統(tǒng)設(shè)計(jì)中必須考慮的一個(gè)問題。另外,商業(yè)操作系統(tǒng)一般都不提供源碼,這使對(duì)嵌入式操作系統(tǒng)的研究無法深入。Linux是完全符合GNU/GPL許可的操作系統(tǒng)內(nèi)核。它的源碼是完全公開的和免費(fèi)的。Linux內(nèi)核支持眾多的處理器,并且針對(duì)特定的處理器做了許多性能優(yōu)化工作。目前在很多的嵌入式處理器上都己經(jīng)成功的移植了嵌入式Linux操作系統(tǒng)。雖然Linux在實(shí)時(shí)性方面不如一些商業(yè)的嵌入式操作系統(tǒng),但是在一些對(duì)實(shí)時(shí)性要求不是很高的嵌入式系統(tǒng)中得到了廣泛地應(yīng)用。,對(duì)實(shí)時(shí)性的支持有了很大的提高。Linux內(nèi)核得到了GNU組織的支持,提供了一系列的嵌入式系統(tǒng)開發(fā)工具。GNU工具鏈支持嵌入式開發(fā)的整個(gè)過程。嵌入式Linux操作系統(tǒng)兼容UNIX操作系統(tǒng)。許多UNIX應(yīng)用程序無需任何改動(dòng),就可以直接在Linux系統(tǒng)中編譯運(yùn)行。Linux操作系統(tǒng)具有UNIX操作系統(tǒng)幾乎一致的編程接口,這給習(xí)慣了UNIX操作系統(tǒng)的軟件開發(fā)者轉(zhuǎn)向Linux操作系統(tǒng)提供了很大的便利。按照是否經(jīng)過了廠商的優(yōu)化,可以將嵌入式Linux操作系統(tǒng)分成兩類:商業(yè)化的嵌入式Linux操作系統(tǒng)以及非商業(yè)化的嵌入式Linux內(nèi)核。只有嵌入式Linux內(nèi)核,是無法進(jìn)行嵌入式系統(tǒng)開發(fā)的,還需要很多的GNU項(xiàng)目支持,包括GNU工具鏈、文件系統(tǒng)等。而商業(yè)化的嵌入式Linux操作系統(tǒng),除了完成上述的工作以外,還對(duì)嵌入式Linux操作系統(tǒng)做了一些改進(jìn),包括實(shí)時(shí)性擴(kuò)展以及技術(shù)支持培訓(xùn)服務(wù)等。選擇商業(yè)化的嵌入式Linux操作系統(tǒng)可以減小很多的工作并且提高了系統(tǒng)的性能,另外,使用商業(yè)化的嵌入式Linux操作系統(tǒng)是不需要版權(quán)費(fèi),只需付給商家一定的服務(wù)費(fèi)。本設(shè)計(jì)中,選擇商業(yè)化的MiziLinux操作系統(tǒng)在嵌入式平臺(tái)運(yùn)行。相應(yīng)的交叉開發(fā)環(huán)境選用:宿主機(jī)(CP機(jī))采用FedoraCore3,采用CMO口和目標(biāo)體通信。所以在基于ARMS3C2440的嵌入式平臺(tái)下的linux操作系統(tǒng)下系統(tǒng)設(shè)計(jì)如下: 網(wǎng)絡(luò)媒體流實(shí)時(shí)傳輸系統(tǒng)設(shè)計(jì) [8,9]。本地服務(wù)子系統(tǒng)包括兩個(gè)基本的工作模塊:編碼模塊以及Linux操作系統(tǒng)下編寫硬件的驅(qū)動(dòng)程序和網(wǎng)絡(luò)服務(wù)模塊(利用嵌入式平臺(tái)的TCP/IP網(wǎng)絡(luò)功能,實(shí)現(xiàn)專用的RTP/RTCP協(xié)議)。然后編寫客戶端子系統(tǒng)。 方案三. 采用JAVA媒體框架(JMF)實(shí)現(xiàn)流媒體實(shí)時(shí)傳輸 JMF是一種采用Java語言開發(fā)流式媒體應(yīng)用的API,它采用統(tǒng)一的結(jié)構(gòu)和消息傳遞協(xié)議,可以提供數(shù)據(jù)的回放,控制,處理及傳輸?shù)裙δ堋KС执蠖鄶?shù)標(biāo)準(zhǔn)的媒體類型,如AIFF,AU,AVI,GSM,MIDI,MPEG,QuickTime,RMF以及WAV。JMF RTP API是JMF中支持RTP應(yīng)用開發(fā)的應(yīng)用程序接口,可以在網(wǎng)絡(luò)中實(shí)時(shí)傳輸和接收媒體流[10,11]。在JMF的高層結(jié)構(gòu)中RTP API位于JMF API和插件結(jié)構(gòu)Plugin API之間。JMF RTP API 可以無縫地與JMF的獲取,回放及處理功能一起工作。同處理其他媒體內(nèi)容一樣,Player和Processor對(duì)象用來回放RTP媒體流。用戶可以將采集和保存的媒體數(shù)據(jù)以媒體流的形式在網(wǎng)絡(luò)中傳輸。第一種方案是Windows平臺(tái)上進(jìn)行流媒體處理,沒有可移植性。第二種方案是在嵌入式平臺(tái)下實(shí)現(xiàn)服務(wù)器子系統(tǒng)和在PC機(jī)上實(shí)現(xiàn)客戶子系統(tǒng)。難度太大,所以選擇了第三種方案,這種方案是基于Java的,能夠?qū)崿F(xiàn)基于RTP協(xié)議的流媒體實(shí)時(shí)傳輸,而且Java具有跨平臺(tái)的優(yōu)點(diǎn),基于Java開發(fā)的流媒體實(shí)時(shí)傳輸系統(tǒng)有望移植到嵌入式平臺(tái)上。例如:手機(jī)網(wǎng)絡(luò)平臺(tái)的開發(fā)一般是基于Java的,憑著Java跨平臺(tái)的優(yōu)點(diǎn),基于Java開發(fā)的流媒體實(shí)時(shí)傳輸系統(tǒng)有望移植到手機(jī)平臺(tái)。所以我先擇了第三種方案?;赗TP協(xié)議的網(wǎng)絡(luò)多媒體應(yīng)用程序 ,主要分為兩個(gè)部分,一部分是負(fù)責(zé)通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的主機(jī)端(RTP Servers)程序 ,另一部分是接收數(shù)據(jù)的客戶端(RTP Clients)程序。 在流媒體實(shí)時(shí)傳輸應(yīng)用中,視頻傳輸是很重要的一部分。它直接關(guān)系到系統(tǒng)的運(yùn)行效果,關(guān)系到系統(tǒng)能否被客戶接收。為了保證流媒體傳輸?shù)男Ч?,人們提出了多種流媒體傳輸控制的方法,希望改進(jìn)服務(wù)質(zhì)量。在實(shí)時(shí)傳輸協(xié)議—RTP的基礎(chǔ)上,實(shí)現(xiàn)流媒體實(shí)時(shí)傳輸。 連接示意圖 系統(tǒng)處理流程圖 系統(tǒng)采用客戶/服務(wù)器結(jié)構(gòu),流媒體信息發(fā)送端為服務(wù)器端,流媒體信息接收端為客戶端。系統(tǒng)結(jié)構(gòu)分為兩大部分:流媒體發(fā)送端和流媒體接收端。流媒體發(fā)送端的系統(tǒng)。 流媒體發(fā)送端的系統(tǒng)流程圖。 流媒體接收端的系統(tǒng)流程圖 系統(tǒng)模塊的劃分及功能描述 基于以上系統(tǒng)流程的分析,可以分為以下幾個(gè)模塊: 流媒體捕獲模塊:該模塊從攝像頭采集流媒體數(shù)據(jù),經(jīng)其內(nèi)部的硬件初步壓縮后輸入計(jì)算機(jī),等待下一步的處理。 流媒體壓縮模塊:該模塊從緩沖區(qū)獲取數(shù)據(jù),然后將數(shù)據(jù)傳給下一個(gè)模塊。 RTP傳輸模塊:該模塊得到流媒體數(shù)據(jù)后,將其用RTP協(xié)議打包。每隔一段時(shí)間,接收RTCP包并加以分析。 RTP分析模塊:該模塊從網(wǎng)絡(luò)上接收RTP包,重組后分析出媒體數(shù)據(jù)供下面的模塊解壓縮。每隔一段時(shí)間,發(fā)送RTCP包報(bào)告RTP包的接收情況。 流媒體播放模塊:該模塊將解壓縮的流媒體數(shù)據(jù)顯示在屏幕上。 JMF體系結(jié)構(gòu)Java作為一種優(yōu)秀的面向?qū)ο蟮木幊陶Z言,具有簡(jiǎn)單、可移植、分布式、多線程、安全等諸多特點(diǎn)。Java最顯而易見的優(yōu)點(diǎn)是其平臺(tái)無關(guān)性,可以“編譯一次,到處運(yùn)行”,而且Java幾乎從一開始就和網(wǎng)絡(luò)聯(lián)系在一起,是一種比較理想的網(wǎng)絡(luò)編程語言。Java提供了豐富的類庫,由SunMicrosystem公司單獨(dú)提供(指不包含在標(biāo)準(zhǔn)JDK中)的Java Media Framework(JMF)提供了對(duì)多媒體編程的比較完善的支持。JMF可以分為兩部分:JMF API和JMF RTP API。前者提供了處理器(Processor)、插件(Plugin)、Data Sink。Processor和Plugin用于處理媒體數(shù)字信號(hào),Data Sink可用于存儲(chǔ)和顯示媒體內(nèi)容。把Processor、Plugin和Data Sink整合到一塊,就可以完成捕獲、存儲(chǔ)、處理、播放和壓縮媒體內(nèi)容的任務(wù)。后者JMF RTP API是JMF提供的實(shí)時(shí)傳輸多媒體數(shù)據(jù)流的API,即RTP(包含RTCP)包。JMF RTP API能與JMF的捕獲設(shè)備、播放器、處理器和處理能力無縫結(jié)合。除了上面提到的四個(gè)管理器之外, SessionManager用于與RTP會(huì)話一同工作。SessionManager可跟蹤會(huì)話參與方以及所傳送的流,還用于處理RTCP控制通道,為發(fā)送方和接收方提供支持。JMF提供的模型可大致分為七類:數(shù)據(jù)(data source),截取設(shè)備(Capture Device,包括視頻和音頻截取設(shè)備),播放器(Player),處理器(Processor),數(shù)據(jù)池(DataSink),數(shù)據(jù)格式(Format),管理器(Manager)。 建立Java多媒體開發(fā)環(huán)境所需的硬件和軟件 硬件環(huán)境 至少兩臺(tái)能運(yùn)行Windows操作系統(tǒng)的PC,運(yùn)行該實(shí)例時(shí),其中一臺(tái)用來當(dāng)發(fā)送端,另一臺(tái)當(dāng)接收端。攝像頭,麥克風(fēng)等。 軟件環(huán)境1):JDK默認(rèn)安裝目錄為d:\Program Files\Java\jdk1_5_0_17。右鍵點(diǎn)擊Windows桌面我的電腦屬性,在彈出系統(tǒng)特性對(duì)話框中選擇高級(jí)選項(xiàng)卡,點(diǎn)擊環(huán)境變量按鈕,彈出環(huán)境變量對(duì)話框,單擊新建(W)…按鈕,彈出新建系統(tǒng)變量對(duì)話框,在該對(duì)話框中輸入變量名為JAVA_HOME和變量值為d:\Program Files\Java\jdk1_5_0_17。用同樣的辦法設(shè)置CLASSPATH=%JAVA_HOME%\lib\。%JAVA_HOME%\lib\=%JAVA_HOME%\bin。2)安裝JMF:選擇將JMF的開發(fā)和運(yùn)行環(huán)境安裝在JDK的路徑d:\Program Files\Java\ jdk1_5__0_17中,使JMF與JDK融為一體,這樣可以免去操作系統(tǒng)中設(shè)置Java環(huán)境變量。3)安裝J3D:。4)安裝JBuilder2006(集成開發(fā)環(huán)境)。目前,網(wǎng)絡(luò)多媒體技術(shù)的應(yīng)用和發(fā)展正在迅速的增長(zhǎng)。一些較常見的例子有網(wǎng)絡(luò)電話,視頻會(huì)議,視頻點(diǎn)播。流媒體信息的傳輸控制作為其中一個(gè)重要的組成部分,有其不同于普通數(shù)據(jù)傳輸控制的特點(diǎn)。一、傳輸高質(zhì)量的流媒體信息需要高網(wǎng)絡(luò)帶寬的支持。此外,大多數(shù)網(wǎng)絡(luò)多媒體應(yīng)用為了提供有效的服務(wù),滿足基本的視/音頻效果,還需要有最小的吞吐量保證。而普通數(shù)據(jù)傳輸?shù)耐掏铝靠梢栽诤芏痰臅r(shí)間內(nèi)減少到接近為零。二、為支持
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1