使用Flash Media Server(FMS)录制mp4格式的视频
最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是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服务器进行点播播放。
使用Flash Media Server(FMS)录制mp4格式的视频的更多相关文章
- Flash Media Server 5.0 (FMS)注册码
flash media server 4.5 及最新 flash media server 5.0 注册码 防止图片打不开时: Name:tam/CORE Serial:1652-5580-8001- ...
- Adobe Flash Media Server安装
Flash Media Server(FMS)是一个流媒体服务器 使用 实时消息传送协议(RTMP),RTMP是一种未加密的TCP/IP协议,专门设计用来高速传送音频.视频和数据信息. 3.5版32位 ...
- (转)ubuntu 12.04搭建Adobe Flash Media Server服务
破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...
- Video标签播放视频?谷歌浏览器?safari?? 谷歌浏览器播放不了mp4格式的视频的原因
webm格式和mp4格式,判断了浏览器能否支持的视频类型后,给了一个if判断,如果是支持mp4格式,就返回视频后缀mp4,如果是webm,就返回后缀webm.结果,在谷歌浏览器中播放不了,为什么我指定 ...
- Adobe/Flash Media Server 5.0 linux 64位系统下的安装
一.下载 Adobe/Flash MS5.0下载地址: http://fs1.d-h.st/download/00036/VOt/adobemediaserver_5_ls1_linux64.tar. ...
- Flash Media Server 4.0 破解 注册
Adobe Flash Media Interactive Server 3.5s/n:1373-5047-2985-0514-5175-0098 s/n: 1373-5632-4666-9521-8 ...
- mp4格式的视频,编码方式mpeg4,转化为h264
知识点:在使用vcastr3.swf播放器播放flv视频,(同时在html5页面,使用<video>标签时),发现某些MP4格式的代码不能播放 原因:vcastr3.swf和video,不 ...
- Flash Media Server 4.5 序列号 (fms4.5 激活码)
激活码一枚 ,网上找不到的..我今天放出来了哦... 1462-5864-7783-6034-8316-3718 (亲测 可用) 安装前找到系统盘下windows/system32/driv ...
- ueditor不能上传mp4格式的视频--解决方案
1.ueditor.all.js 去掉所有的 type="application/x-shockwave-flash" 2.ueditor.all.min.js 去掉所有的 typ ...
随机推荐
- c#数组去重
第一种: string[] stringArray = { "aaa", "bbb", "aaa", "ccc", &q ...
- Centos配置iptables开放ftp服务
安装完vsftpd后,默认情况下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问.1.添加ip_conntrack_ftp 模块[root@hexuweb101 ...
- vs code编辑器使用教程指南
1.安装插件: 这里可以搜索到插件并安装. 2.修改快捷键或查找快捷键: 这里可以进行快捷键的查找和修改 3.进入引用文件: 点击f12,或者右击快捷键可以看到进入引用文件的快捷方法. 4.查看目录:
- Java 11 - Java String类
Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...
- linux安装chrome浏览器
按照下面的方式安装 wget -P /home/linfu/桌面 https://dl.google.com/linux/direct/google-chrome-stable_current_amd ...
- jmeter解决登录token获取
1.以百度登录为例 2.打开console 3.根据console结果设置公共的header在test plan 4.建立测试计划-test plan 5.正则表达式提取器,获取token 6.登录t ...
- 硬盘读取不了-->>完美解决
说明:电脑装了两个硬盘,一个固态一个机械,装完系统之后读取不到机械硬盘的数据,网上很多人都说格式化之后分盘,但是!!!里面的数据咋办?千万别自己倒腾转换格式什么的,一不小心数据真的丢了,那就再也找不回 ...
- netfilter/iptables
参考:tcp/ip协议 1.Linux框架概念 1.1.工作流程图 1.2.功能: ①过滤(filter) ②修改源ip.目标ip(nat) ③拆解报文.修改报文标记.重新封装(mangle) ④关闭 ...
- JS 异步分段上传文件
为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...
- 完全分布式hadoop2.5.0安装 VMware下虚拟机centos6.4安装1主两从hadoop
请跟我走,从零开始搭建hadoop2.5.0环境.总览第一步:搭建三台能不用密码shh的虚拟机.第二步,装jdk,解压hadoop文件,配置环境变量和xml文件.第三步,复制克隆两个slave机器.调 ...