• <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>

            一路走來,只有C++和香煙最實在!

            Just Dive Into!

            C++博客 首頁 新隨筆 聯系 聚合 管理
              11 Posts :: 0 Stories :: 29 Comments :: 0 Trackbacks

            Real Time Messaging Protocol(實時消息傳送協議協議)Adobe Systems公司為Flash播放器和服務器之間音頻、視頻和數據傳輸開發的私有協議。

            具體使用RTMPAS代碼大概如下:

              var videoInstance:Video = your_video_instance;

              var nc:NetConnection = new NetConnection();

              var connected:Boolean = nc.connect("rtmp://localhost/myapp");

              var ns:NetStream = new NetStream(nc);

              videoInstance.attachVideo(ns);

            ns.play("flvName");

            Adobe也在官方網站已經提供了RTMP協議的官方文檔說明,為什么要寫這個系列文章最大的原因只是對前一段工作的一個總結和回顧,最近兩個月,實現了一個RTMP Serverc++版本,把公司的流媒體服務和flash無縫對接起來。希望我的文字能給后來研究這個協議的同學有一定的幫助。

            RTMP協議是一個基于TCP的高層協議族,當然這個玩意據說還有UDP協議版本的,不過現在還沒有出來,好像Adobe下一版本的FMS會提供支持。下文將要描述的是TCP協議版本的協議。

               RTMP協議的概要理解:

            RTMP協議是為了和flash之間交換信令以及媒體數據。為了提高使用效率信令和媒體數據都是使用相同的機制。因為是相同的機制Adobe就整出來了一些比較搞人的概念,當然每個協議第一次接觸都是比較難理解的。

                    RTMP協議中信令和媒體數據都稱之為Message,在網絡中傳輸這些Message,為了區分它們肯定是要加一個Message  head的,所以RTMP協議也有一個Message head,還有一個問題因為RTMP協議是基于TCP的,由于TCP的包長度是有限制的(一般來說不超過1500個字節),而RTMPMessage長度是有可能很大的,像一個視頻幀的包可能會有幾十甚至幾千K,這個問題就必然有一個分片的問題,在RTMP協議中對應的說法就是chunk,每一個Message + head都是由一個和多個chunk組成的。到這里對RTMP協議的概要理解就算完了。

            posted on 2009-12-27 00:53 Richard Liu 閱讀(27854) 評論(8)  編輯 收藏 引用

            Feedback

            # re: RTMP協議詳解(一) 2009-12-28 12:49 2s
            Real Time Messaging Protocol(實時消息傳送協議協議)是Adobe Systems公司為Flash播放器和服務器之間音頻、視頻和數據傳輸開發的私有協議。?? 盡瞎說, 誤認子弟。  回復  更多評論
              

            # re: RTMP協議詳解(一) 2009-12-28 22:35 Richard Liu
            @2s
            呵呵 這個玩意信不信就看你了,確實是這樣的,難道公開了協議文本就不是私有協議了嗎?  回復  更多評論
              

            # re: RTMP協議詳解(一)[未登錄] 2010-02-24 10:01 max
            我最近可能有些事情和flash服務器相關,大概要實現一個能夠完成flash流媒體的客戶端,想根您請教下:

            像土豆,youku這類的網站,我抓包的結果是有http報文,請問這類的網站是不是不走RTMP協議.有些網站又是用RTMP的交互過程.針對RTMP我做客戶端的話,是不是需要實現一個類似于一個RTMP協議客戶端,對HTTP做一個假的HTTP的解析和下載的客戶端,然后后端根一個開源的媒體播放器就可以了.能夠解析flv,然后解碼媒體數據.

            可不可以給我發一個RTMP的數據包,或者指點下現在那個網站用RTMP的,我去抓個包看看.
            我郵箱max.wizard@yahoo.com.cn,多謝了.  回復  更多評論
              

            # re: RTMP協議詳解(一) 2010-07-06 21:37 fuck adobe
            公開了嗎?握手那段根本就是瞎扯,鄙視adobe@2s
              回復  更多評論
              

            # p2p的RTMFP協議破解[未登錄] 2011-03-25 16:34 jack
            本人已對奧多比的p2p協議rtmfp進行了逆向分析(C++),加密解密部分全部破解,能夠逆向得到全部數據包的解密報文。本人破解了部分報文結構。第一步的連接功能已經成功實現。希望對RTMFP協議敢興趣的朋友聯系共同研究QQ286422369  回復  更多評論
              

            # re: RTMP協議詳解(一) 2011-11-11 09:02 fanxin
            @jack
            希望能有個參考給哦!fpeter@126.com.
            謝謝!  回復  更多評論
              

            # re: RTMP協議詳解(一) 2012-05-12 21:35
            @Richard Liu
            就是啊  回復  更多評論
              

            # re: RTMP協議詳解(一) 2015-12-16 13:57 zo
            tcp包長有限制嗎?  回復  更多評論
              

            久久精品国产一区二区三区日韩| 一本久久综合亚洲鲁鲁五月天| 性高湖久久久久久久久| 精品综合久久久久久97| 亚洲欧美日韩中文久久| 久久91精品国产91久久麻豆| 国产亚洲精午夜久久久久久| 国产精品99久久久精品无码| 亚洲AV无码久久精品狠狠爱浪潮| 久久99中文字幕久久| 久久精品国产亚洲AV香蕉| 国产一久久香蕉国产线看观看| 亚洲精品久久久www| 狠狠色婷婷综合天天久久丁香| 性做久久久久久免费观看| 久久精品国产秦先生| 中文字幕热久久久久久久| 狠狠色伊人久久精品综合网| 久久丫精品国产亚洲av不卡| 亚洲国产成人久久笫一页| 日本精品久久久久中文字幕| 99久久无色码中文字幕人妻| 久久精品中文字幕有码| 久久国产乱子精品免费女| 成人综合久久精品色婷婷| 久久久久久久亚洲精品| 99久久精品免费观看国产| 99久久久国产精品免费无卡顿| 97久久国产综合精品女不卡| 伊人久久成人成综合网222| 久久精品无码一区二区三区免费 | 国产亚洲精久久久久久无码AV| 久久免费的精品国产V∧| 久久婷婷五月综合国产尤物app| 国产亚洲色婷婷久久99精品91| 97精品国产91久久久久久| 国产成人久久精品一区二区三区| 亚洲精品高清国产一线久久| 亚洲AV乱码久久精品蜜桃| 亚洲国产精品无码成人片久久| 婷婷五月深深久久精品|