在线录像,原来这么简单

很忙,所以研究的时间就少。不过利用red5录制视频非常简单是真的,可能所有的类fms都一样吧,视频录制视作基本功能之一,自然要使用最简单的方法来实现。

以前做过一个摄像头牌照的程序,这里就用上了。把所有的类复制过来,然后把那个main.as改名为camera_window.as,再把里面的构造函数和类声明一修改,直接new一个,编译通过,操作也是对的。面向对象的复用性真是好出多多~~~

然后修改data_model,增加一个NetStream对象来进行视频的捕捉和发送,增加两个方法,分别是“开始广播(start_broadcast)”和“结束广播(stop_broadcast)”。对于客户端而言,只要发布(publish)视频就好,至于是录像啊,还是直播啊,都由服务器端来操作就行,或者由其它客户端来点播。

点击开始广播后,会把camera_window的摄像头对象传给data_model,然后利用_ns.attachCamera()方法来获取视频流,再通过_ns.publish("meat_video","record");的方式发送给服务器。publish方法的第一个参数是视频的名称,这个名称也是服务器端甄别不同视频的方法;第二个参数则是要求服务器对视频做不同的处理,具体帮助手册上都有,这里就不再赘述。点击停止广播后,则调用_ns.attachCamera(null)方法,停止继续发布视频。

测试,打开摄像头,干会儿别的。关掉程序,找到\red5\webapps\meat_app,发现里面多了一个“stream”文件夹,打开一开,meat_video.flv赫然在目,哈哈,录制视频,原来这么简单。

当然我是不会仅仅满足于录个视频的,于是跑去把ApplicationAdapter里面相关的几个事件和org.red5.server.api.stream底下几个文档翻译了一下,明天就开始用事件来驱动客户端点播等等。唔唔,如果有事件的话……

PS:其实我也像帖源码上来的,那样的话可以给别人提供更大的帮助。可惜这个博客贴起源码来实在太丑,于是只好作罢。附件也是,不让上传附件,不知道什么时候能有修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值