FreeSWITCH 是一個電話的軟交換解決方案,包括一個軟電話和軟交換機用以提供語音和聊天的產品驅動。FreeSWITCH 可以用作交換機引擎、PBX、多媒體網關以及多媒體服務器等。
日前,FreeSWITCH 團隊發布了 mod_rtmp ,是第一個真正免費的開源 VoIP 和軟電話技術的 RTMP 解決方案。
RTMP (Real-Time Messaging Protocol) 實時消息傳送協議協議是Adobe Systems公司為Flash播放器和服務器之間音頻、視頻和數據傳輸開發的私有協議。
RTMP協議是為了和flash之間交換信令以及媒體數據。為了提高使用效率信令和媒體數據都是使用相同的機制。因為是相同的機制Adobe就整出來了一些比較搞人的概念,當然每個協議第一次接觸都是比較難理解的。
在RTMP協議中信令和媒體數據都稱之為Message,在網絡中傳輸這些Message,為了區分它們肯定是要加一個Message head的,所以RTMP協議也有一個Message head,還有一個問題因為RTMP協議是基于TCP的,由于TCP的包長度是有限制的(一般來說不超過1500個字節),而RTMP的Message長度是有可能很大的,像一個視頻幀的包可能會有幾十甚至幾千K,這個問題就必然有一個分片的問題,在RTMP協議中對應的說法就是chunk,每一個Message + head都是由一個和多個chunk組成的。到這里對RTMP協議的概要理解就算完了。