关于FMS视频在线录制的心得

2009-05-13 00:27:50来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

年前的时候曾经研究过flv播放器方面的技术,并且在红杏的帮助下解决了关键的一些技术问题.以至于我这个对Flash一窍不通的人也看明白了一些...
最近因工作需要,一直在研究FMS(Flash Media Server),其实也就只是为了解决在线录制的问题.
寻找了一些资料后自己开始做在线录制尝试.昨天把所有的AS写完,放出来共享一下.

我用的软件环境是Winxp+FMS破解无限制版+Flash8
在蓝色理想找到的这篇——《FMS在线录视频》作为最初学习的主线,在百度上也找了其他一些技术文章最终做完了一个很初级的在线录制程序.

源文件:http://zongyz.com/blog/uploads/200704/02_004824_pig_rec.rar

直接编译发布即可,需要修改的就是FMS服务器的地址和建立相关的路径.
功能很简陋,但也满足现在工作的需求了.应用的在线录制的时候只需传递进去一个关联当前用户的文件名变量,然后录制完成后由web程序去处理其他的事情就可以了.

附这个程序的AS源码:
还是没养成注释的好习惯,只是在最初写的时候跟着资料做了一些注释,写到最后越来越烦琐,就干脆不注释的.

代码:

//开始初始化
var timeNum:Number = 0;
//初始化时间计数;
var server_url:String = "rtmp://192.168.0.13/vhost/";
//FMS地址;
var videoname:String = "vtest";
//保存的文件名;
var pig_nc:NetConnection = new NetConnection();
//新建一个连接对象,用来连接FMS;
pig_nc.connect(server_url);
//连接FMS;
var pig_ns:NetStream = new NetStream(pig_nc);
//新建流,用来捕获和播放视频;
var pig_cam:Camera = Camera.get();
//获取摄像头rec_cam;
var pig_mic:Microphone = Microphone.get();
//获取麦克风声音;
waiting();
//UI初始等待状态;
//-------------------事件发生---------------------//
rec_con.onRelease = function() {
  //录制按钮被点击;
  if (recstar._currentframe == 1) {
    recstar.gotoAndStop(2);
    recplay();
  } else if (recstar._currentframe == 2) {
    recstar.gotoAndStop(1);
    recstop();
  } else if (recstar._currentframe == 3) {
    recstar.gotoAndStop(1);
    waiting();
  } else {
    trace("出错!");
  }
};
view_con.onRelease = function() {
  //预览按钮被点击;
  if (view._currentframe == 1) {
    view.gotoAndStop(2);
    viewstar();
  } else if (view._currentframe == 2) {
    view.gotoAndStop(1);
    viewstop();
  } else {
    trace("出错!");
  }
};
submit_con.onRelease = function() {
  //完成按钮被点击;
  submitstar();
};
//-------------------控制函数---------------------//
function waiting() {
  //初始等待状态;
  view.gotoAndStop(3);
  view_con._visible = false;
  //设置预览不可用;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用Flash MX快速制作沟通留言程序

下一篇:体验Adobe Soundbooth CS3新特性