Adobe Dynamic Http Streaming的简单配置与实现

Adobe的Http Dynamic Streaming是针对苹果的HLS方案提出基于HTTP的流媒体传输方案,基于其方案说明,它既能支持HTTP也能支持RTMP,既能支持点播(VOD),也支持直播。 因此配了一下此方案,过程如下:

服务器环境:Ubuntu X86-64 8G内存 (我选择的试验方案是将FMS和Apache装到同一台机器上,分布式的安装这里不表)

软件环境: (此过程只保证在对应的软件版本下配置出来,Adobe的软件也在不停的变化中,其他版本自行调研)

Flash Media Server 4.5 for Linux Development版

OSMF Simple Player For Http Dynamic Streaming 下载地址: 

Apache2 (我的Ubuntu X86-64 Server上自带的已经有了Apache2,FMS4.5安装过程中也会安装一个Apache2,二者可以共存,不会冲突)


下面是安装配置过程:

1)安装FMS4.5,默认安装到/opt/adobe/fms/

以root方式登录Linux,解压FMS4.5到 ./FMS4.5目录下,cd 进入其下的linux目录,

>tar -zxf FlashMediaServer4.5_x64.tar.gz

>cd FMS_4_5_0_r297   (注:FMS_4_5_0_r297是上一步解压出来的目录)

>./installFMS

按照步骤提示安装即可,注意2点的就是:

1.1) 选择安装一个自带的Apache (我们系统也已经有一个Apache2,后面会说如何共存)

1.2) 创建一个管理用户并记住密码

FMS4.5被成功安装到了/opt/adobe/fms目录下,这里将此安装目录用rootinstall表示,方便后面引用。

2) 下载安装OSMF Simple Player,将下载到的Player解压并放到: /opt/adobe/fms/webroot/OSFMPlayer 目录中

3) 配置:

3.1) 默认情况向, FMS监听80端口接收traffic然后传递给Apache的8134端口(FMS自带的Apache被配成了监听8134端口)

,这个传递过程在高网络负载下会带来性能的问题

因此,做以下配置来解决这个问题。

修改rootinstall/conf/fms.ini, 将其中的ADAPTOR.HOSTPORT = :1935,80 一行改为ADAPTOR.HOSTPORT =

:1935; 不让FMS监听80端口;

同时,将其中 HTTPPROXY.HOST = :8134一行改为:  HTTPPROXY.HOST =

这样便去掉了以上的代理转发过程。
3.2) rootinstall/Apache2.2/conf/httpd.conf文件中的 Listen 8134 一行不用更改,这样便让FMS 安装的Apache继续监

听8134端口,而我们系统中的Apache仍监听80端口,这样便不会冲突。(当然这样带来的坏处就是后面任何HTTP访问都需要

带8134,我们试验一下,没有太大问题。)

3.3) HTTP Origin Module 不用配置,FMS4.5自带安装的Apache都已经配置好了这些支持Http Dynamic Streaming的模块,

主要用于点播 和直播时下发流媒体数据到观看端;


3.4) 找一个装有摄像头的电脑(我用的是WinXP)用于直播视频编码端, 安装Flash Media Live Encoder 3.2到
      D:\Program Files\Adobe\Flash Media Live Encoder 3.2目录下,打开其子目录Conf下面的config.xml文      件

,修改/flashmedialiveencoder_config/mbrconfig/streamsynchronization/enable节点值为true.
    (使用绝对时间)
      <mbrconfig>
         <streamsynchronization>
              <enable>true</enable>

3.5) 配置FMS server在直播时使用绝对时间,打开rootinstall/applications/livepkgr/Application.xml
     修改/Application/StreamManager/Live/AssumeAbsoluteTime节点为true.
     <Application>
        <StreamManager>
          <Live>
            <AssumeAbsoluteTime>true</AssumeAbsoluteTime>
          </Live>
        </StreamManager>
     </Application>

3.6 配置rootinstall/conf/Server.xml,修改
    <Root>
      <Server>
        <ResourceLimits>
           <RecBuffer>
              <MaxFlushTime> 3 <MaxFlushTime>
     将<MaxFlushTime>的值改为1.

4) 验证直播和点播
   >cd rootinstall
   >./fmsmgr server fms restart  -- 重新启动FMS
   >./fmsmgr adminserver restart -- 重新启动Admin Server

4.1)验证VOD 是按Dynmaic Http Streaming 来的

用FireFox (with FireBug)或Google Chrome浏览器打开 :8134/
   可以看到FMS server安装后的默认主页,里面有
    1 - “Launch Flash Media Administration Console”,可以通过此入口来管理FMS server(用安装时创建的
     用户名和密码)
    2 - 在该主页的中部右边,有“(HDS) HTTP Dynamic Streaming sample” 点击进去,可以看到视频播放界面,
    用FireBug或Google Chrome打开开发者工具界面,切换到network选项中,可以看到视频播放时是按段下载的
    即验证HTTP Dynamic Streaming VOD方式是成功的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fc32d83ac08db8ebbcdef377c623490b.html