http://www.360doc.com/content/13/0709/16/21412_298738723.shtmlhtml
1. AMF
AMF(是Action Message Format的縮寫)是在flash和flex中與遠程服務端交換數據的一種格式.它是二進制格式,Flash應用與服務端或數據庫經過RPC交換數據 時,一般都採用這種格式。AMF 1 誕生於Flash Player6,發展到如今已經變成了了AMF3
2. RTMP
RTMP 是Real-Time Messaging Protocol(實時消息傳送協議)的縮寫,它是Adobe Systems公司爲Flash播放器和服務器之間音頻、視頻和數據傳輸開發的協議。這是一個標準的,未加密的實時消息傳遞協議,默認端口是1935,如 果未指定鏈接端口,那麼flash客戶端會嘗試鏈接其餘端口,其嘗試鏈接順序按照下列順序依次鏈接:193五、44三、80(RTMP), 80(RTMPT).RTMP協議是被Flash用於對象,視頻,音頻的傳輸.該協議創建在TCP協議或者輪詢HTTP協議之上。
3. RTMPT
RTMP的變種,此協創建在HTTP協議之上,是經過HTTP封裝後的RTMP協議,默認端口80.
4. RTMPS
RTMP的另外一個變種,此協議是經過SSL加密的RTMP協議,爲數據通信提供安全支持。SSL(Secure Sockets Layer 安全套接層)是爲網絡通訊提供安全及數據完整性的一種安全協議。SSL在傳輸層對網絡鏈接進行加密。默認端口443。
5. RTMPE
RTMP 的變種,RTMPE是一個加密版本的RTMP,和RTMPS不一樣的是RTMPE不採用SSL加密,RTMPE加密快於SSL,而且不須要認證管理。若是沒 有指定RTMPE端口,Flash播放器將像RTMP協議同樣依次掃描下列端口:1935(RTMPE) 443(RTMPE) 80(RTMPE) 80(RTMPTE)
6. RTMPTE
RTMPTE 這個協議是一個經過加密通道鏈接的RTMPE,默認端口80.
7. RTMFP
RTMFP 是Adobe公司開發的一套新的通訊協議,該協議可讓使用Adobe Flash Player的終端用戶之間進行直接通訊。此方案提高了目前Flash Player在網絡交互方面的體驗。RTMFP將減小直播、實時聊天方案的帶寬消耗,例如音視頻聊天和多人遊戲。由於RTMFP的數據在終端用戶之間流 動,而不是和服務器,因此此方案很適合於大範圍的部署。RTMFP由於採用了UDP也提高了傳送的速度。UDP是Internet上一種更有效傳送音頻視 頻的方法,雖然會有一些丟包,錯包。RTMFP有兩個特性能夠幫助解決一些鏈接錯誤。 快速鏈接恢復:鏈接在之外狀況下將快速恢復。例如,一個無線鏈接掉線了,一旦重連,他將迅速擁有全部的傳送能力。 IP動態化:一個活動的網絡會話將以PEER來標識,即便他變了一個IP,也能夠保持原來的會話。例如,一個筆記本在一個無線網絡得到了一個新IP地 址,他將馬上繼續剛纔的會話。 RTMP和RTMFP之間的不一樣,最根本的是他們在網絡上採用的協議。RTMFP是基於UDP的,RTMP是基於TCP的。UDP在傳送直播數據方面 比TCP仍是有較多優點的,好比減小延時,對丟包的容忍,雖然在可靠性上有所損失。RTMFP支持Flash Player直接發送數據給另外一個,而不通過Server,服務端鏈接將被用來初始化並交互一些客戶端之間的信息,也可用來進行服務端調用或者做爲進入其 他系統的網關。數據庫
#define RTMP_PROTOCOL(flavor) \
static const AVClass flavor##_class = { \
.class_name = #flavor, \
.item_name = av_default_item_name, \
.option = rtmp_options, \
.version = LIBAVUTIL_VERSION_INT, \
}; \
\
URLProtocol ff_##flavor##_protocol = { \
.name = #flavor, \
.url_open = rtmp_open, \
.url_read = rtmp_read, \
.url_read_seek = rtmp_seek, \
.url_write = rtmp_write, \
.url_close = rtmp_close, \
.priv_data_size = sizeof(RTMPContext), \
.flags = URL_PROTOCOL_FLAG_NETWORK, \
.priv_data_class= &flavor##_class, \
};
RTMP_PROTOCOL(rtmp)
RTMP_PROTOCOL(rtmpe)
RTMP_PROTOCOL(rtmps)
RTMP_PROTOCOL(rtmpt)
RTMP_PROTOCOL(rtmpte)
RTMP_PROTOCOL(rtmpts)
安全