这个问题已经困扰很长时间了,google或baidu也没什么结果。
先把问题讲一下吧,按照一些简单的例子写client-script录制麦克风(网上很多的),常规配置fms,也不需要写server-script,一切都很简单,但是录制完毕根本没有生成flv,bandwidth上面没有波动。trace下info.code先后得到NetConnection.Connect.Success和NetStream.Publish.Start。
呵呵,乍看下这样的输出挺正常的。但是就是没有record。问了很多次,终于在adobe fms online forum上有了点结果,还是从camera上得到的启发,顺便说下,我试camera时也不能录。
thread见
http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=578&threadid=1296576&enterthread=y
基本的意思是:
你电脑上没有camera,所以没有图像录进去。:-)原来我一直以为没有摄像头也会有图像过去的(黑色的图像)。其实这是fms的一种优化方案,当图像没有变化的时候(没有camera也就是说没有图像变化啦),fms为了节约bandwidth就忽略了,可以用motionlevel来调节这个度。
同样的,对于microphone来说也应该调节slienceLevel来决定fms忽略输入的度。这里有一段代码:
import flash.net.*;
import flash.events.*;
import flash.media.*;
stop();
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
var nc:NetConnection = new NetConnection();
var ns:NetStream;
var mic:Microphone = Microphone.getMicrophone();
mic.rate = 11;
mic.setSilenceLevel(0)
function ncHandler(eve:NetStatusEvent):void
{
trace(eve.info.code);
if(eve.info.code == "NetConnection.Connect.Success")
{
ns = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, nsHandler);
ns.attachAudio(mic);
ns.publish("blackcamera", "record");
trace(mic.silenceLevel)
}
}
function nsHandler(eve:NetStatusEvent):void
{
trace(eve.info.code)
}
nc.addEventListener(NetStatusEvent.NET_STATUS, ncHandler);
nc.connect("rtmp://localhost/myApplication");
注意这句mic.setSilenceLevel(0),它的作用就是取消这种优化,任何微小的输入都会被fms接受,缺点就是包括噪音。一般来说它还跟你的声音大小相关,如果你吼的声音太小了,就不会有声音输入(它根据这个度认为这是silence)
。调高点这个值也是可以的,只是只有等到你吼的声音足够大时(超过这个度),fms才会开始录,这时会多一个trace值:NetStream.Record.Start。
分享到:
相关推荐
"FMS视频录制监控"的标题表明我们正在讨论如何利用FMS来实现视频录制和监控功能。下面将详细阐述FMS在视频录制和监控中的应用以及其核心特性。 FMS视频录制功能: 1. **实时录制**:FMS支持RTMP(Real-Time ...
在创建`NetConnection`实例前设置这一属性,大部分情况下能有效解决问题。 3. **端口冲突问题** FMS默认使用1935和80端口,而管理端口为1111。如果发现这些端口被占用,可使用命令行工具`netstat -an`来检查端口...
FMS+FLASH+在线视频录制+ASP+Access. <br>编者的话 <br>自己骗写的,下载本文件的朋友请自己研究,该注释的,我已经打好了详细注释,修改不困难,这样还不懂的话我也没有办法,另外还附了播放器。 <br>不...
文档"《Fms 视频录制屏幕共享 附源码.doc》"主要涉及使用Adobe Flash Media Server (FMS) 实现屏幕共享和视频录制的功能。FMS 是一款强大的实时流媒体服务器,它允许开发者创建实时交互式的多媒体应用程序,包括视频...
6. **问题解决**:在实现屏幕共享和录制时,可能会遇到网络延迟、带宽限制、兼容性等问题,博主的分享可能包含了这些问题的解决方案和优化技巧。 7. **应用场景**:除了在线会议,FMS的屏幕共享和录制功能还可应用...
EdhRecPost是一个WEB插件服务项目,提供swf文件形式的插件,能让网页设计者十分容易地在网页中实现在线录制,并保存音频和视频文件到服务器上。比如:可以学校网站上增加学生在线表演模块,在各种BBS、BLOG中增加...
一个flash与fms结合录制视频的例子
实时流不会在 FMS 服务器上生成 `.fla` 文件,而录制的视频流则会生成 `.flv` 文件。 #### 4. **摄像头和麦克风的使用** 在视频实时聊天应用中,摄像头和麦克风是获取音视频数据的关键组件。可以通过 `Camera.get...
在本文中,我们将深入探讨如何使用FLEX技术实现视频摄像头录制,并将录制的视频上传到FMS(Flash Media Server)服务器。首先,我们先来理解一下FLEX是什么以及它的核心功能。 FLEX全称为Flex Framework,是Adobe...
同时,对于一些复杂的系统故障,可能需要机组人员与地面维护团队协作,通过远程诊断或更换部件来解决问题。 总之,《FMS BUG解说图》作为一份重要的参考资料,旨在帮助飞行员和维修人员快速识别和解决FMS可能出现的...
【FMS聊天室下载FMS】相关知识点详解 FMS(Flash Media Server)是由Adobe公司开发的一款流媒体服务器软件,主要用于实时音频、视频的发布和交互。它支持HTTP Live Streaming (HLS)、RTMP(Real Time Messaging ...
1. **实时流推流**:FMS服务端允许将本地视频源(如摄像头或录制文件)实时推送到服务器,从而生成可供网络用户观看的流媒体内容。 2. **流媒体分发**:通过FMS,服务器可以高效地将视频流分发到多个客户端,确保...
- **故障排查与优化**:遇到问题时的诊断方法,如何优化服务器性能。 通过深入学习这个FMS教程,你可以掌握搭建和管理流媒体服务器的基本技能,以及如何利用FMS实现视音频的录制和传输,为你的项目提供强大的媒体...
这是一个压缩包,包含以下内容: 1.FMS3中文翻译 2.FMS教程 3.教程:教你用FMS在线录制视频 4.评估FMS视频录制的带宽需求来采用合适的尺寸和速率 5.视频录制系统的注意事项 6.FMS4开发指导官方白皮书
总之,"FMS视频聊天程序"是基于Adobe Flash Media Server和Flash技术构建的实时视频通讯解决方案,适用于在线教育、社交网络、企业协作等多个场景。虽然随着HTML5等新技术的发展,Flash的使用逐渐减少,但FMS的原理...
FMS是Adobe公司提供的一种服务器解决方案,它允许实时流媒体内容、视频聊天、录制等功能,主要应用于Web上的多媒体交互。 描述中提到“用fms实现摄像头录像并上传的源代码,需要fms服务器支持”,这意味着这个压缩包...
本程序可以把摄像头视频和麦克风音频,录制为FLV文件,视频压缩采用H.264编码,音频压缩采用AAC编码,支持同步进行RTMP直播(服务器端需要FMS/WOWZA/RED5等)。可选择码率、分辨率、帧率、关键帧间隔等信息。1号教室...
在使用FMS8000软件进行消防调试时,工程师需要熟悉软件的操作界面和功能,如设备配置、报警规则设定、模拟测试等。软件应能帮助用户快速定位故障,进行远程控制,以及生成详细的系统报告,便于维护和管理。同时,...