日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RTMP代理的协议规范(RtmpProxy)

發布時間:2023/12/1 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RTMP代理的协议规范(RtmpProxy) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RtmpProxy

關于RTMP代理的協議規范。RTMP是字節協議,第一個包是c0,1個字節,一般是03表示是明文的RTMP。所以如果需要做RTMP代理,如果直接轉發RTMP客戶端的消息,是沒法傳遞額外的信息的,譬如HTTP代理在Header中傳遞的X-Real-IP,即客戶端的IP,就沒法給RTMP的后端了。

因此,RTMP的Proxy協議必須使用私有協議,c0的意義必須改寫了,譬如另外一個值表示是代理,后面跟隨了一些協議信息,這個協議就是RTMP Proxy協議。

Protocol
使用網絡字節序,big-endian。在C0前插入代理的包,兼容RTMP標準協議。

標準RTMP協議如下:

C0, 1B, 03表示明文RTMP。后面是C1C2以及其他消息。

RTMP代理協議如下:

F3, 1B,常量0xF3,表示RTMP代理協議。 Size, 2B, 表示代理數據的長度,即Size和C0之間的數據。 X-Real-IP, 4B, 表示客戶端的真實IP。 C0, 1B,原始客戶端的C0,方便代理直接轉發客戶端的數據。 備注:一般Size應該不超過C0C1長度,即Size<=1537。

例如,標準RTMP客戶端的消息:

03 // 客戶端的C0包,后面是C1C2,以及其他的消息。

或者,代理客戶端發送的消息:

F3 // 表示是RTMP代理 00 04 // 表示Extra有4字節 C0 A8 01 67 // 表示客戶端IP,C0.A8.01.67,即192.168.1.103 03 // 客戶端原始的C0數據。從這個數據(包括它本身)開始,就是客戶端發送的消息了,譬如C1C2。

RTMP協議,譬如握手的C0、C1、C2、S0、S1、S2,以及數據部分,都沒有變更。

總結

以上是生活随笔為你收集整理的RTMP代理的协议规范(RtmpProxy)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。