[原创] Fms 视频录制屏幕共享 附源码

  • 实现的想法

1.用fms 制作的屏幕共享。功能有通过发送自己的视频,实时让别人观看视频。或通过自己录制发送到服务器上,并储存为flv 。

   区别在于用,两种方法发送视频流

netStream.publish(视频名称,"record");//录制

    

netStream.publish(视频名称,"live");//现场流

 

2.告知所有人,我创建了什么视频。

    用一个远程共享对象储存视频的列表,并在连接后更新,创建视频后更新。

    写两个函数

   

//获得列表
private function listHandler(event:SyncEvent):void{
     videoList.removeAll();
      var arr1:ArrayCollection = new ArrayCollection();  
      if ( videoList_so.data.videoList==null )
      {
      arr1 = new ArrayCollection(); 
      }
      else
      {   	
      convertArrayCollection(arr1,videoList_so.data.videoList as ArrayCollection);
      for(var i:int=0;i<arr1.length;i++){
    
      videoList.addItem(arr1[i]);	
      }
      }
}
//设置列表
private function setVideoList():void{  
     var arr1:ArrayCollection = new ArrayCollection();
     for(var i:int=0;i<videoList.length;i++){
      arr1.addItem(videoList[i]);	
      }
      videoList_so.setProperty("videoList",arr1);
}

 3.全屏播放的方法在这里:

    http://ltoooooooo.iteye.com/blog/404609

 

 4.屏幕录制的方法采用了三方的录制软件

   

  • 关于共享对象

      放在服务器端,能被所有的客户端修改。     

  例如:

    

videoList_so=SharedObject.getRemo("name",netConnection.uri,true);

   name为放在服务器端得名称。  如没有找到的时候,在服务器自动创建一个。

   netConnection.uri 为连接。

   true 为保存在服务器, FALSE 无连接是共享对象对象消失。

  • 关于服务器端的代码放在附件中。配置的方法在这篇文章中。

       http://ltoooooooo.iteye.com/blog/424008

   

  •      效果图

      

你可能感兴趣的:(Blog)