[AS3]FMS与Vcam实现flv网络电视直播 FMS直播
下面我就把我的实现过程给大家说一下,实际上和简单,大家可能曾经做过在线录制视频和回放,如果做过那就和简单了,不过,没有做过也不要太着急。我会把实现的详细步骤和代码给大家
最近接到公司的一个任务用Fms做网络电视,在不熟悉fms的情况下翻遍了它的帮助,但没有一个方法可以实现这个任务(流媒体文件网络直播),就在我四处寻找的时候发现了一个可以辅助你用fms实现流媒体文件网络直播的工具——Vcam。
下面我就把我的实现过程给大家说一下,实际上和简单,大家可能曾经做过在线录制视频和回放,如果做过那就和简单了,不过,没有做过也不要太着急。我会把实现的详细步骤和代码给大家。
第一步,新建一个视频,然后把它拖到舞台上,根据自己的需求调整它的属性(图01)。
第二步,写代码。
- //从麦和设像头显示视频
- myvideo.attachVideo(Camera.get());
- myvideo.attachAudio(Microphone.get());
- //连接fms服务器
- nc = new NetConnection();
- nc.connect("rtmp:/tvtest");
- nsOut = new NetStream(nc);
- nsOut.attachVideo(Camera.get());
- nsOut.attachAudio(Microphone.get());
- //发布直播流,“test”是流的名字
- nsOut.publish("test","live");
到这里我想曾经做过在线录制视频的读者,应该感觉到这就是在线录制视频的写法,可以说一点也没有错。为什么一样呢?咱们一开始就说过实现直播这个功能要需要一个帮手,对了就是vcam。因为它有虚拟摄像头的功能。在这里值得再提的是,vcam还有播放列表的管理功能;它是基于DirectShow开发的,支持的播放格式特别多。
以上两步可以说是实现了服务端的直播流,那面下两步我们就实现一下客户端接收流。
第三步,建立一个新fla文件,同第一步。
第四步,写代码。
- //连接fms服务器
- nc = new NetConnection();
- nc.connect("rtmp:/tvtest");
- res = new NetStream(nc);
- //加载流
- view.attachVideo(res);
- view.attachAudio(res);
- //注意播放流的名字一定跟发布端统一
- res.play("test");
到这里我们的flash阶段的开发就算完成了。最后就是把你安装好的vcam启动,然后播放一个文件或者你编辑好的一个视频列表(图02)。把咱们在上边做完的两个flash文件发布运行就可以了。最终效果(图03)