fms视频直播流服务器地址安全性

& 使用AoKuLive将rtsp协议流转发到Flash Media Server(以下简称FMS)上
使用AoKuLive将rtsp协议流转发到Flash Media Server(以下简称FMS)上
一、检测视频源是否正常
& & & & &因为视频源是一切使用的前提,如果视频源不正常,那么后面所有的功 夫都是徒劳的,因此我在前面首先讲解一下怎么去检测我们的视频源是否正常。
& & & & &如何检测我们的网络摄像机是否支持rtsp协议,本文讲解以海康DS- 2CD3210D-I3网络摄像机为例,摄像机的IP地址为192.168.1.113。
& & & & &首先登陆网络摄像机的后台页面,选择配置里面的高级设置,选择网络 ,查看端口,如果RTSP端口存在,则说明该网络摄像机支持rtsp协议。
& & & & &接下来检测一下我的网络摄像机的源是否正常,在这里我使用VLC媒体播 放器检测,当然前提是我们电脑上要***的有VLC媒体播放器,播放器的***步骤就不做说明了。
二、使用VLC播放器检测rtsp源视频是否正常
Rtsp源我们可以使用网络摄像机来提供
首先打开VLC播放器
选择媒体(M)&打开网络串流(N),如图所示:
点击弹出如图所示的对话框
我们在输入框输入我们源的URL地址,因为我的网络摄像机的IP是192.168.1.113,所以我输入的地址是: rtsp://193.168.1.113,然后点击播放按钮检测源视频是否可以正常播放,如图所示:
此时如果视频可以正常播放,就说明我们的视频源是正常的。
三、使用AoKuLive将rtsp协议流转发到Flash Media Server(以下 简称FMS)上
首先我们电脑上面必须***有FMS,具体的***步骤这里就不做讲解了,***好FMS后,启动FMS所有的服务,如 图:
服务的启动方式
点击开始&控制面板&管理工具&服务
或者我们直接在运行里面输入services.msc打开服务,检查FMS所需要的服务是否处于已启动状态
一切准备就绪后,我们开始使用AoKuLive的转发功能将rtsp的协议流转发到FMS上面进行观看,具体步骤如下所 示
首先下载我们试用版的AoKuLive软件,双击***成功后,打开AoKuLive,界面如图所示:
这里我们主要讲解的是使用AoKuLive实现转发的功能,所以我们左下角的选项卡要选择转发流
接着我们点击新建通道弹出如图所示的对话框
通道名称我们输入:rtsp网络摄像机流(可以自定义)
通道URL:输入我们源的URL,我这里用的是网络摄像机,所以输入摄像机的IP,rtsp://192.168.1.113,协议 我们选择RTSP的协议,点击确定完成通道的创建
然后点击添加任务,添加一个我们要转发的任务,如图所示:
转发任务:rtsp流转发到FMS流媒体服务器(可自定义)
转发URL:rtmp://192.168.1.88:1935/live/live1
因为我的FMS流媒体服务器***在IP为192.168.1.88的服务器上,所以此处我输入的IP是192.168.1.88,1935端 口是rtmp默认的端口,在系统设置里面可以对端口进行修改,live/live1是流名称
点击确定转发任务添加成功,如图所示:
选中我们创建的转发任务,右击选择开始转发,如图
点击开始转发之后,我们可以看到如图
当状态显示为正在转发的时候说明我们已经成功的将rtsp网络摄像机流转发到了FMS流媒体服务器上
最后我们去FMS里面观看一下我们的视频流,检测是否转发成功,我们找到我们FMS***目录下面的 videoplayer.html页面。详细位置在D:\Adobe\Flash Media Server 3.5\samples\videoPlayer\videoplayer.html (当然如果你是***在C盘就应该从C盘下面去找)
打开videoplayer.html页面,如图:
点击livestream
如图STREAM URL输入rtmp://192.168.1.88:1935/live/live1(我们AoKuLive刚才转发的URL)
右侧选择LIVE,点击PLAY STREAM如图:
该画面就是我们将rtsp网络摄像机转发过来的视频RTMP学习(2)
最近在使用AMS服务器录制本机的摄像头视频的时候总是不成功,由于只有一台机器,服务器和客户端都在一台机器上,所以发现问题多多。
先把代码贴出来:
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.net.*;
import fl.motion.MotionE
public class recordVideo extends MovieClip
var nc:NetC
var ns:NetS
var video:V
public function recordVideo()
//videoName.text = &&;
beginRecordBtn.label = &开始录制&;
beginRecordBtn.addEventListener(MouseEvent.CLICK, onBeginRecord);
stopRecordBtn.label = &停止录制&;
stopRecordBtn.addEventListener(MouseEvent.CLICK, onStopRecord);
video = new Video(400, 300);
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
video.attachCamera(cam);
addChild(video);
private function onBeginRecord(evt:MouseEvent):void
nc = new NetConnection();
nc.client =
nc.addEventListener(NetStatusEvent.NET_STATUS, onBeginRecordStatusHandler);
nc.connect(&rtmp://localhost/live&);
public function onBWDone(){}
private function onBeginRecordStatusHandler(evt:NetStatusEvent):void
.code == &NetConnection.Connect.Success&)
ns = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, onBeginRecordStatusHandler);
var obj = new Object();
obj.onMetaData = function(){};
ns.client =
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish(videoName.text, &record&);
private function onStopRecord(evt:MouseEvent):void
nc.close();
如果想把视频录到.../applications/live文件夹下,则出现 如下日志:
&Application doesn't have permissions for server-side record/ access denied to stream 123.&
就是说应该没有权限向服务器端录制流,对123流的录制被拒绝。(123为我要录制的视频名称)
如果录到.../applications/vod下,则出现下面的日志显示:
Write access denied for stream ww.
即写流ww的通道被拒绝。(ww是我录制的视频名称)
如果是录制到你自己创建的应用下面,则根据你是从哪个默认应用下拷贝的main.far文件有关。具体这里就不说了。
这里就说说录制到live文件夹下的解决方案.
1.首先解压live文件夹下的main.far(可以用常用解压工具),会出现如下几个文件:
2.用编辑工具打开Application.xml,显示如下:
&Application&
&SharedObjManager&
&ClientAccess override=&no&&false&/ClientAccess&
&/SharedObjManager&
&StreamManager&
& & & & & & &StreamRecord override=&no&&false&/StreamRecord&
& & &/StreamManager&
&/Application&
这里的信息大致意思是禁止共享对象的客户端访问和流录制,只要将其访问和流录制都改为允许,则能解决问题。
&Application&
&SharedObjManager&
&ClientAccess override=&yes&&true&/ClientAccess&
&/SharedObjManager&
&StreamManager&
& & & & & & &StreamRecord override=&yes&&true&/StreamRecord&
& & &/StreamManager&
&/Application&
3.改好后,将其所在文件夹重新压缩一下,如果后缀是rar或者zip什么,不要紧,直接改后缀为.far就行了。
4.重启服务,再次运行程序,服务器端的摄像头录制没问题,问题解决,哈哈。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1368次
排名:千里之外
原创:11篇Fms 视频地址加密问题 - ITeye问答
最近在弄在线视频网站,架构是(flex,fms,java)前期主要在研究视频的安全性,我现在的解决方法如下:
(1)服务端java blazeDs通过des加密把视频文件fms连接地址传给flex客户端,这样做的目地是防止别人用HttpAnalyzerStdV5之类的工具分析Http协议检测到fms视频连接地址,通过加密后只能看到加密后的字符串;
(2)我现在想实现的是这样:netStream.play("加密后的fms视频字符串");但是显然fms是不支持的;
一开始我也想过通过客户端来解密"加密后的fms视频字符串",但是万一swf被人破解后,也可以使用这个解密方法得到真正的地址,所以我就想把加密解密都放在服务端那是肯定安全的,但是偏偏fms不支持视频地址转换功能;
哪位高人如果知道希望不吝赐教,感激不尽;
另外rtmpdump这个工具可以轻而易举的下载fms视频,前提是知道fms视频地址例如rtmp://localhost:1935/vod/sample
目前还没有***
已解决问题
未解决问题

参考资料

 

随机推荐