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的终端用户之间进行直接通信。