博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flex4+fms3.5+cs4开发实时音视频直播及点播详解
阅读量:4658 次
发布时间:2019-06-09

本文共 2516 字,大约阅读时间需要 8 分钟。

开发工具及环境:

1)flash builder4

2)flash cs4

3)flash media server3.5

fms部分

fms是adobe的流媒体服务器,不过是收费的,价格大概是oracle的一半,不过还是觉得挺贵的。adobe提供控制连接数的开发人员版,除了这点具体和完全版一样。服务器的配置网上很多,大家一搜就一大把。

其中关键的是:

由于需求是不仅要提供直播,而且还能点播历史音视频。而as的NetStream的publish方法提供的录制功能是将录制的视频放在直播的同一个文件夹下,所以要需要改一下fms配置。

1)fms的dvr默认是关闭的,需要修改C:/Program Files/Adobe/Flash Media Server 3.5/applications/live/main.far里的Application.xml,将文件中的

<StreamManager>
<StreamRecord override="no">false</StreamRecord>
</StreamManager>

改为

<StreamManager>
<StreamRecord override="yes">true</StreamRecord>
</StreamManager>

修改后重新加入main.far中

2)fms默认是将直播与点播文件目录分开的(live和vod),但是视频录制是在live文件加下,所以我们要修改点播目录

C:/Program Files/Adobe/Flash Media Server 3.5/conf/fms.ini文件中将

VOD_DIR 设置为 C:/Program Files/Adobe/Flash Media Server 3.5/applications/live
这样就可以实现直播点播同文件夹共存了

3)配置虚拟目录

打开C:/Program Files/Adobe/Flash Media Server 3.5/applications/live/Application.xml在<VirtualDirectory>中加入

<Streams>/;${VOD_COMMON_DIR}</Streams>
<Streams>/;${VOD_DIR}</Streams>

补充:如果在flex中直播视频时抛出noAccess错误,请在服务器上给录制机分配写入的权限。

通过以上配置fms就完成了

 

flex部分

效果如下:

flash部分/点播代码

import flash.net.*;  import flash.events.*;   var loader:URLLoader = new URLLoader();  loader.dataFormat=URLLoaderDataFormat.VARIABLES;  loader.addEventListener(Event.COMPLETE, loader_complete);  loader.load(new URLRequest("media2.txt"));   function loader_complete(e:Event):void {      var variables:URLVariables=new URLVariables(loader.data);       myVideo2.source=variables["source"];  }  myVideo2.isLive=false;

效果如下:

flash部分/直播代码

import flash.net.*;  import flash.events.*;   var loader:URLLoader = new URLLoader();  loader.dataFormat=URLLoaderDataFormat.VARIABLES;  loader.addEventListener(Event.COMPLETE, loader_complete);  loader.load(new URLRequest("media.txt"));   function loader_complete(e:Event):void {      var variables:URLVariables=new URLVariables(loader.data);       myVideo.source=variables["source"];  }   myVideo.isLive=true;

效果如下:

转载于:https://www.cnblogs.com/coolsundy/p/4859986.html

你可能感兴趣的文章
【SAS ADVANCE】Performing Queries Using PROC SQL
查看>>
Hive新功能 Cube, Rollup介绍
查看>>
webpack:(模块打包机)
查看>>
程序员不得不知的座右铭(世界篇)
查看>>
表格-鼠标经过单元格变色(暂不支持IE6)
查看>>
【每日一学】pandas_透视表函数&交叉表函数
查看>>
8.指向结构体数组的指针
查看>>
理解Javascript的Event Loop
查看>>
实时读取日志文件
查看>>
php单页面的点击次数
查看>>
C# Datetime 赋空
查看>>
python 基础 ---- 文件读写
查看>>
python操作mongodb
查看>>
Spring----工厂注入和bean的生命周期
查看>>
随机点名器
查看>>
React Native入门 认识Flexbox布局
查看>>
LINUX平台可以用GDB进行反汇编和调试。
查看>>
kvm 虚拟化的使用
查看>>
一个删除磁盘文件的恶意软件分析
查看>>
react组件里阻事件冒泡
查看>>