使用Flash Media Server(FMS)录制mp4格式的视频
2014-05-09 14:00
661 查看
最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rtmp流输出->FMS服务器->rtmp流广播->客户端播放器 加载rtmp流->播放;直播流的录制采用在FMS服务器上录制的方式,而不是在视频采集设备端进行录制。
由于客户要求进行可控录制,所以不能采用那种在视频流发送端就写好参数如: nc.publish("livestream","record") 的方式,而是采用了Adobe提供的一个用于FMS的Application,叫做dvrcast,它的实现实际是写了好多的FMS服务器端的as代码 (.asc格式的文件),通过调用FMS服务器端的Stream类的record方法来进行录制,通常record方法会录制为.flv文件,最近通过查 看FMS自带的一些开发文档,终于搞清楚了如何将视频流录制为.mp4文件,具体方法如下:
假设 视频采集端发过来的视频流是livestream,如 nc.publish("livestream","live");//采用直播模式发送
在服务器端想对该视频进行录制,则使用如下代码:
s=Stream.get("mp4:yourRecordName.mp4");//获取一个Stream对象,注意参数,录制mp4或f4v文件时,必须加前缀"mp4:",yourRecordName是你想保存的名字
if(s){
s.record("record");//开始录制,"record"参数可选,表示如果存在yourRecordName.mp4文件,会进行覆盖
s.play("livestream");//此句比较重要,如果不写的话,你会发现所创建的.mp4文件体积不变,此句代码相当于FMS服务器端接管了livestream流的publish工作,因为服务器端的play方法优先于视频采集端的publish方法
}
如果想停止录制,则代码如下:
s=Stream.get("yourRecordName");//可以写"mp4:yourRecordName.mp4",也可以只写yourRecordName
if(s) s.record(false);//停止录制
所录制的视频文件可以通过FMS服务器进行点播播放。
由于客户要求进行可控录制,所以不能采用那种在视频流发送端就写好参数如: nc.publish("livestream","record") 的方式,而是采用了Adobe提供的一个用于FMS的Application,叫做dvrcast,它的实现实际是写了好多的FMS服务器端的as代码 (.asc格式的文件),通过调用FMS服务器端的Stream类的record方法来进行录制,通常record方法会录制为.flv文件,最近通过查 看FMS自带的一些开发文档,终于搞清楚了如何将视频流录制为.mp4文件,具体方法如下:
假设 视频采集端发过来的视频流是livestream,如 nc.publish("livestream","live");//采用直播模式发送
在服务器端想对该视频进行录制,则使用如下代码:
s=Stream.get("mp4:yourRecordName.mp4");//获取一个Stream对象,注意参数,录制mp4或f4v文件时,必须加前缀"mp4:",yourRecordName是你想保存的名字
if(s){
s.record("record");//开始录制,"record"参数可选,表示如果存在yourRecordName.mp4文件,会进行覆盖
s.play("livestream");//此句比较重要,如果不写的话,你会发现所创建的.mp4文件体积不变,此句代码相当于FMS服务器端接管了livestream流的publish工作,因为服务器端的play方法优先于视频采集端的publish方法
}
如果想停止录制,则代码如下:
s=Stream.get("yourRecordName");//可以写"mp4:yourRecordName.mp4",也可以只写yourRecordName
if(s) s.record(false);//停止录制
所录制的视频文件可以通过FMS服务器进行点播播放。
相关文章推荐
- 使用Flash Media Server(FMS)录制mp4格式的视频
- 使用FMS 4.5(Flash Media Server 4.5) 搭建视频直播(HLS)
- FME(flash media encoder)发布音视频使用fms录制
- FLEX利用FLASH MEDIA SERVER进行视频的在线录制和回放
- 使用flash+fms录制视频时遇到NetStream.Record.NoAccess错误
- 使用flash+fms录制视频时遇到NetStream.Record.NoAccess错误
- Discuz 升级 X3 后使用Flash, Media 等标签不能正常显示视频
- FMS4.5 (Flash media server)视频服务器安装和配置以及pomelo聊天室的调用
- Flash Media Server简单使用
- 使用FLASH做在线录音(Flash Media Server)
- flash media server播放实时视频流
- Flash Video DRM 视频版权保护技术 – Flash Access & Flash Media Server
- 基于FMS(Flash Media Service)的多人视频聊天
- Flash Media Server(FMS)应用一例
- 安卓使用surfaceview+Camera+MediaRecorder实现视频录制
- FMS (Flash Media Server) Player 制作(AS2版)
- FlashMediaServer(FMS)(中文资料收集
- Flash Media Server 4.0X (FMS) ubuntu linux安装测试
- Flash Media Server (FMS) 用户验证与计费设计
- 在Ubuntu上安装Flash Media Server 3.5(FMS 3.5)