RTMP Handshake
生活随笔
收集整理的這篇文章主要介紹了
RTMP Handshake
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
rtmp 1.0規范中,指定了RTMP的握手協議:
- c0/s0:一個字節,說明是明文還是加密。
- c1/s1: 1536字節,4字節時間,4字節0x00,1528字節隨機數
- c2/s2: 1536字節,4字節時間1,4字節時間2,1528隨機數和s1相同。 這個就是srs以及其他開源軟件所謂的simple handshake,簡單握手,標準握手,FMLE也是使用這個握手協議。
Flash播放器連接服務器時,若服務器只支持簡單握手,則無法播放h264和aac的流,可能是adobe的限制。adobe將簡單握手改為了有一系列加密算法的復雜握手(complex handshake) ,詳細協議分析參考變更的RTMP握手
下表為總結:
| Simple 標準握手 簡單握手 | 不依賴 | vp6+mp3/speex | 所有 | 支持 | 編碼器,譬如FMLE,FFMPEG srs-librtmp(兩種都支持,推薦用Simple) |
| Complex 復雜握手 | openssl | vp6+mp3/speex h264+aac | Flash | 支持 | 主要是Flash播放器播放H264+aac流時需要, 其他都不需要 |
播放器(Flash Player): Flash播放器支持的編碼。
備注:SRS編譯時若打開了SSL選項(--with-ssl),SRS會先使用復雜握手和客戶端握手,若復雜握手失敗,則嘗試簡單握手。
Winlin 2014.2
總結
以上是生活随笔為你收集整理的RTMP Handshake的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RTMP的URL/Vhost规则
- 下一篇: Wireshark网络抓包(一)——数据