• <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>
            蝸牛的家
            男兒當(dāng)自強(qiáng)
            posts - 48,  comments - 21,  trackbacks - 0

             

            Real Time Streaming Protocol或者RTSP(實(shí)時(shí)流媒體協(xié)議),是由Real network 和Netscape共同提出的如何有效地在IP網(wǎng)絡(luò)上傳輸流媒體數(shù)據(jù)的應(yīng)用層協(xié)議。
            RTSP提供一種可擴(kuò)展的框架,使能夠提供能控制的,按需傳輸實(shí)時(shí)數(shù)據(jù),比如音頻和視頻文件。
            源數(shù)據(jù)可以包括現(xiàn)場(chǎng)數(shù)據(jù)的反饋和存貯的文件。rtsp對(duì)流媒體提供了諸如暫停,快進(jìn)等控制,而它本身并不傳輸數(shù)據(jù),
            rtsp作用相當(dāng)于流媒體服務(wù)器的遠(yuǎn)程控制。傳輸數(shù)據(jù)可以通過傳輸層的tcp,udp協(xié)議,rtsp也提供了基于rtp傳輸機(jī)制的一些有效的方法。
            RTSP消息格式:
            RTSP的消息有兩大類,一是請(qǐng)求消息(request),一是回應(yīng)消息(response),兩種消息的格式不同.
            請(qǐng)求消息:
            方法 URI RTSP版本       CR LF
            消息頭                    CR LF          CR LF         
            消息體                    CR LF
            其中方法包括OPTION回應(yīng)中所有的命令,URI是接受方的地址,例如:rtsp:
            //192.168.20.136
            RTSP版本一般都是 RTSP/1.0.每行后面的CR LF表示回車換行,需要接受端有相應(yīng)的解析,最后一個(gè)消息頭需要有兩個(gè)CR LF
            回應(yīng)消息:
            RTSP版本 狀態(tài)碼 解釋    CR LF
            消息頭                    CR LF          CR LF
            消息體                    CR LF
            其中RTSP版本一般都是RTSP
            /1.0,狀態(tài)碼是一個(gè)數(shù)值,200表示成功,解釋是與狀態(tài)碼對(duì)應(yīng)的文本解釋.
            簡(jiǎn)單的rtsp交互過程:
            C表示rtsp客戶端,S表示rtsp服務(wù)端
            1.C->S:OPTION request     //詢問S有哪些方法可用
            1.S->C:OPTION response    //S回應(yīng)信息中包括提供的所有可用方法

            2.C->S:DESCRIBE request   //要求得到S提供的媒體初始化描述信息
            2.S->C:DESCRIBE response  //S回應(yīng)媒體初始化描述信息,主要是sdp

            3.C->S:SETUP request      //設(shè)置會(huì)話的屬性,以及傳輸模式,提醒S建立會(huì)話
            3.S->C:SETUP response     //S建立會(huì)話,返回會(huì)話標(biāo)識(shí)符,以及會(huì)話相關(guān)信息

            4.C->S:PLAY request       //C請(qǐng)求播放
            4.S->C:PLAY response      //S回應(yīng)該請(qǐng)求的信息

            S
            ->C:發(fā)送流媒體數(shù)據(jù)

            5.C->S:TEARDOWN request   //C請(qǐng)求關(guān)閉會(huì)話
            5.S->C:TEARDOWN response  //S回應(yīng)該請(qǐng)求

            上述的過程是標(biāo)準(zhǔn)的、友好的rtsp流程,但實(shí)際的需求中并不一定按部就班來。
            其中第3和4步是必需的!第一步,只要服務(wù)器客戶端約定好,有哪些方法可用,則option請(qǐng)求可以不要。
            第二步,如果我們有其他途徑得到媒體初始化描述信息(比如http請(qǐng)求等等),則我們也不需要通過rtsp中的describe請(qǐng)求來完成。
            第五步,可以根據(jù)系統(tǒng)需求的設(shè)計(jì)來決定是否需要。
            rtsp中常用方法:
            1.OPTION
            目的是得到服務(wù)器提供的可用方法:
            OPTIONS rtsp:
            //192.168.20.136:5000/xxx666 RTSP/1.0
            CSeq: 1      //每個(gè)消息都有序號(hào)來標(biāo)記,第一個(gè)包通常是option請(qǐng)求消息
            User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

            服務(wù)器的回應(yīng)信息包括提供的一些方法,例如:
            RTSP
            /1.0 200 OK
            Server: UServer 
            0.9.7_rc1
            Cseq: 
            1         //每個(gè)回應(yīng)消息的cseq數(shù)值和請(qǐng)求消息的cseq相對(duì)應(yīng)
            Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE, GET_PARAMETER //服務(wù)器提供的可用的方法

            2.DESCRIBE
            C向S發(fā)起DESCRIBE請(qǐng)求,為了得到會(huì)話描述信息(SDP):
            DESCRIBE rtsp:
            //192.168.20.136:5000/xxx666 RTSP/1.0
            CSeq: 2
            token:
            Accept: application
            /sdp
            User
            -Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

            服務(wù)器回應(yīng)一些對(duì)此會(huì)話的描述信息(sdp):
            RTSP
            /1.0 200 OK
            Server: UServer 
            0.9.7_rc1
            Cseq: 
            2
            x
            -prev-url: rtsp://192.168.20.136:5000
            x-next-url: rtsp://192.168.20.136:5000
            x-Accept-Retransmit: our-retransmit
            x
            -Accept-Dynamic-Rate: 1
            Cache
            -Control: must-revalidate
            Last
            -Modified: Fri, 10 Nov 2006 12:34:38 GMT
            Date: Fri, 
            10 Nov 2006 12:34:38 GMT
            Expires: Fri, 
            10 Nov 2006 12:34:38 GMT
            Content
            -Base: rtsp://192.168.20.136:5000/xxx666/
            Content-Length: 344
            Content
            -Type: application/sdp

            v
            =0                         //以下都是sdp信息
            o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.20.136
            s
            =/xxx666
            u
            =http://
            e=admin@
            c
            =IN IP4 0.0.0.0
            t
            =0 0
            a
            =isma-compliance:1,1.0,1

            a
            =range:npt=0-
            m
            =video 0 RTP/AVP 96    //m表示媒體描述,下面是對(duì)會(huì)話中視頻通道的媒體描述
            a=rtpmap:96 MP4V-ES/90000
            a
            =fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0FA62D089028307
            a
            =control:trackID=0        //trackID=0表示視頻流用的是通道0

            3.SETUP
            客戶端提醒服務(wù)器建立會(huì)話,并確定傳輸模式:
            SETUP rtsp:
            //192.168.20.136:5000/xxx666/trackID=0 RTSP/1.0    
            CSeq: 3 
            Transport: RTP
            /AVP/TCP;unicast;interleaved=0-1      
            User
            -Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
            //uri中帶有trackID=0,表示對(duì)該通道進(jìn)行設(shè)置。Transport參數(shù)設(shè)置了傳輸模式,包的結(jié)構(gòu)。
            //接下來的數(shù)據(jù)包頭部第二個(gè)字節(jié)位置就是 interleaved,它的值是每個(gè)通道都不同的,
            //trackID=0的interleaved值有兩個(gè)0或1,0表示rtp包,1表示rtcp包,接受端根據(jù)interleaved的值來區(qū)別是哪種數(shù)據(jù)包。

            服務(wù)器回應(yīng)信息:
            RTSP
            /1.0 200 OK
            Server: UServer 
            0.9.7_rc1
            Cseq: 
            3
            Session: 
            6310936469860791894     //服務(wù)器回應(yīng)的會(huì)話標(biāo)識(shí)符
            Cache-Control: no-cache
            Transport: RTP
            /AVP/TCP;unicast;interleaved=0-1;ssrc=6B8B4567


            4.PLAY
            客戶端發(fā)送播放請(qǐng)求:
            PLAY rtsp:
            //192.168.20.136:5000/xxx666 RTSP/1.0
            CSeq: 4
            Session: 
            6310936469860791894
            Range: npt
            =0.000-      //設(shè)置播放時(shí)間的范圍
            User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
            服務(wù)器回應(yīng)信息:
            RTSP
            /1.0 200 OK
            Server: UServer 
            0.9.7_rc1
            Cseq: 
            4
            Session: 
            6310936469860791894
            Range: npt
            =0.000000-
            RTP
            -Info: url=trackID=0;seq=17040;rtptime=1467265309     
            //seq和rtptime都是rtp包中的信息

            5.TEARDOWN
            客戶端發(fā)起關(guān)閉請(qǐng)求:
            TEARDOWN rtsp:
            //192.168.20.136:5000/xxx666 RTSP/1.0
            CSeq: 5
            Session: 
            6310936469860791894
            User
            -Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
            服務(wù)器回應(yīng):
            RTSP
            /1.0 200 OK
            Server: UServer 
            0.9.7_rc1
            Cseq: 
            5
            Session: 
            6310936469860791894
            Connection: Close

            以上方法都是交互過程中最為常用的,其它還有一些重要的方法如get
            /set_parameter,pause,redirect等等
            sdp的格式
            v
            =<version>
            o
            =<username> <session id> <version> <network type> <address type> <address>
            s
            =<session name>
            i
            =<session description>
            u
            =<URI>
            e
            =<email address>
            p
            =<phone number>
            c
            =<network type> <address type> <connection address>
            b
            =<modifier>:<bandwidth-value>
            t
            =<start time> <stop time>
            r
            =<repeat interval> <active duration> <list of offsets from start-time>
            z
            =<adjustment time> <offset> <adjustment time> <offset> .
            k
            =<method>
            k
            =<method>:<encryption key>
            a
            =<attribute>
            a
            =<attribute>:<value>
            m
            =<media> <port> <transport> <fmt list>
            = (協(xié)議版本)
            = (所有者/創(chuàng)建者和會(huì)話標(biāo)識(shí)符)
            = (會(huì)話名稱)
            = * (會(huì)話信息)
            = * (URI 描述)
            = * (Email 地址)
            = * (電話號(hào)碼)
            = * (連接信息)
            = * (帶寬信息)
            = * (時(shí)間區(qū)域調(diào)整)
            = * (加密密鑰)
            = * (0 個(gè)或多個(gè)會(huì)話屬性行) 
            時(shí)間描述:
            = (會(huì)話活動(dòng)時(shí)間)
            = * (0或多次重復(fù)次數(shù))
            媒體描述:
            = (媒體名稱和傳輸?shù)刂罚?br>= * (媒體標(biāo)題)
            = * (連接信息 — 如果包含在會(huì)話層則該字段可選)
            = * (帶寬信息)
            = * (加密密鑰)
            = * (0 個(gè)或多個(gè)媒體屬性行)
            posted on 2009-06-17 14:33 黑色天使 閱讀(734) 評(píng)論(0)  編輯 收藏 引用

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



            <2011年4月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            欧美国产成人久久精品| 久久精品99久久香蕉国产色戒 | 国产成人综合久久精品尤物| 香蕉久久夜色精品升级完成| 日韩人妻无码一区二区三区久久99| 精品综合久久久久久88小说| 国产精品久久久久久久久| 久久精品国产亚洲AV香蕉| 日本强好片久久久久久AAA| 久久精品免费一区二区| 久久人人爽人人爽人人爽| 久久99热这里只有精品66| 色婷婷久久久SWAG精品| 伊人久久大香线蕉综合网站| 久久精品国产色蜜蜜麻豆| 久久国产三级无码一区二区| 久久久久国色AV免费观看| 久久午夜综合久久| 欧美日韩精品久久免费| 久久九九久精品国产免费直播| 亚洲国产精品久久久天堂| 99re久久精品国产首页2020| 精品国产福利久久久| 国产精品成人99久久久久91gav| 久久99国产精品成人欧美| 亚洲欧美日韩精品久久亚洲区| 区久久AAA片69亚洲| 99久久精品国产高清一区二区| 久久精品国产影库免费看| 久久久久成人精品无码 | 思思久久精品在热线热| 无码伊人66久久大杳蕉网站谷歌 | 久久国产精品成人片免费| 97精品伊人久久大香线蕉app| 久久AAAA片一区二区| 亚洲欧洲久久久精品| 久久99精品久久久久子伦| 久久久久国产精品嫩草影院| 欧洲人妻丰满av无码久久不卡| 成人午夜精品久久久久久久小说| 香蕉久久夜色精品国产尤物|