red5加密
⑴ 誰介紹一下wowza
Wowza 作為一個Media Delivery System,它要起很重要的作用。
一直在摸索如何保證文件不會被下載。RTMP協議肯定是不行的,NetTransport, Orbit, Replay Media Catcher都可以下載這種協議的文件。然後我就把目光放到了RTMP協議的眾多變體上。
首先是RTMPT協議,用HTTP協議封裝的RTMP協議。不知道怎麼回事,伺服器似乎不能很好的接受RTMPT協議,不知道是設置問題還是別的什麼。而且在Wowza官方論壇上,Wowza的開發者也不建議使用RTMPT協議,因為它需要500ms輪詢一次,而且伺服器的CPU開銷(協議封裝需要消耗CPU)和帶寬開銷(封裝成HTTP協議時需要額外內容)都比較大,唯一的優點就只有可以突破帶有協議掃描的防火牆。
然後就是RTMPS和RTMPE。前者是用SSL協議加密的,後者是Adobe自己的128位加密演算法。Wowza和Adobe都推薦後者,因為使用簡單無需設置。而RTMPS需要設置證書等比較復雜的設置,而且安全性據說也不比RTMPE協議高。
最後就是RTMPTS和RTMPTE協議,看名字也知道是怎麼回事了。
最後我選擇了RTMPE協議,簡單就是美。
接下來的問題是如何屏蔽RTMP協議。不像Red5和Adobe Flash Media Server那樣可以通過修改埠來簡單的屏蔽,Wowza的RTMP,RTMPE,RTMPT協議是捆綁在一個埠上的。因為這個問題我甚至一度放棄了Wowza而改用Adobe Flash Media Interactive Server,不過怎麼都讀取不到內容。
仔細研究了一下Wowza的論壇,發現原來官方發布過一個源碼可以只使用RTMPE,RTMPS,RTMPTS這一類加密的協議。
然後自然就是下載Wowza IDE,建了個工程,把代碼粘貼進去,保存後再把自動生成的jar文件復制到伺服器上。然後把application.xml文件修改一下,大功告成!
這樣設置後如果嘗試使用RTMP協議,會提示拒絕連接,要求加密。而且現有的所有下載工具都不能下載RTMPE協議。連網址變換都可以不用做了。
不得不贊嘆一下Wowza的介面,確實很強大,而且是java的。雖然FMIS也有介面,不過ActionScript語言畢竟是門冷門語言。
最後附上代碼:
package com.wowza.wms.plugin.forcertmpe;
import com.wowza.wms.amf.*;
import com.wowza.wms.client.*;
import com.wowza.wms.mole.*;
import com.wowza.wms.request.*;
public class RequireSecure extends MoleBase {
public void onConnect(IClient client, RequestFunction function,
AMFDataList params) {
if (!client.isEncrypted())
{
client.rejectConnection("Secure connection required.");
getLogger().info("MoleRequireSecureConnection.onConnect: rejectConnection: clientId:"+client.getClientId());
}
}
}
⑵ 請教大俠:在網頁上播放視頻需要 流媒體伺服器嗎
流媒體的需求正好最近我也在做。
根據我所知道的情況,如果你使用的是將Windows Midea Player或者QuickTime或者Real Player嵌入網頁,那麼不用流媒體伺服器也可以實現,這樣做的缺點是,視頻的地址直接在控制項上點右鍵-->屬性就能看到,很容易被下載
目前主流的,還是用FLASH播放器播放,後台用流媒體伺服器的方式。
主流的流媒體伺服器有:
Adobe Flash Midea Server,這個是收費的,有個免費的開發版本,只能支持10個並發,而且不允許商用
red5,這個是開源的,而且是java寫的,對於JAVA應用來說,是個很好的選擇,即便不是JAVA應用,也很不錯
對於樓主的播放不了視頻,我覺得可能是OJBECT標簽中少了一些東西,我記得有很多類似網址樣的東西的,貌似都沒有。
⑶ 這個rtmp路徑是什麼意思
RTMP是Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫。
該協議基於TCP,是一個協議族,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。
RTMP是一種設計用來進行實時數據通信的網路協議,主要用來在Flash/AIR平台和支持RTMP協議的流媒體/交互伺服器之間進行音視頻和數據通信。
支持該協議的軟體包括Adobe Media Server/Ultrant Media Server/red5等。
(3)red5加密擴展閱讀
RTMP協議就像一個用來裝數據包的容器,這些數據既可以是AMF格式的數據,也可以是FLV中的視/音頻數據。
一個單一的連接可以通過不同的通道傳輸多路網路流。這些通道中的包都是按照固定大小的包傳輸的。
它有多種變種:
1、RTMP工作在TCP之上,默認使用埠1935;
2、RTMPE在RTMP的基礎上增加了加密功能;
3、RTMPT封裝在HTTP請求之上,可穿透防火牆;
4、RTMPS類似RTMPT,增加了TLS/SSL的安全功能;
⑷ RTMP直播協議是什麼還有什麼直播協議
RTMP(Real-Time Messaging Protocol實時消息傳送協議)的縮寫,它是Adobe Systems公司為Flash播放器和伺服器之間音頻、視頻和數據傳輸開發的協議。這是一個標準的,未加密的實時消息傳遞協議,默認埠是1935,如果未指定連接埠,那麼flash客戶端會嘗試連接其他埠,其嘗試連接順序按照下列順序依次連接:1935、443、80(RTMP), 80(RTMPT)。
RTMPT,RTMP的變種,此協建立在HTTP協議之上,是通過HTTP封裝後的RTMP協議,默認埠80。
RTMPS,RTMP的另一個變種,此協議是通過SSL(Secure Sockets Layer 安全套接層)加密的RTMP協議,為數據通訊提供安全支持。SSL在傳輸層對網路連接進行加密,默認埠443。
RTMPE,RTMP的變種,RTMPE是一個加密版本的RTMP,和RTMPS不同的是RTMPE不採用SSL加密,RTMPE加密快於SSL,並且不需要認證管理。如果沒有指定RTMPE埠,Flash播放器將像RTMP協議一樣依次掃描下列埠,1935(RTMPE),443(RTMPE) ,80(RTMPE),80(RTMPTE)。
RTMPTE,RTMPTE 這個協議是一個通過加密通道連接的RTMPE,默認埠80。
RTMFP,RTMFP是Adobe公司開發的一套新的通信協議,該協議可以讓使用Adobe Flash Player的終端用戶之間進行直接通信。