转载于腐烂的翅膀。
一.前言
安装完FMS4.5以后就有了apache2.2,由于在FMS安装目录里面,他是对外面已经安装的是没有影响的,默认情况向, FMS监听80端口接收traffic然后传递给Apache的8134端口(rootinstall/Apache2.2/conf/httpd.conf 文件中的 Listen 8134 更改),这个传递过程在高网络负载下会带来性能的问题。因此,做以下配置来解决这个问题:
1.修改rootinstall/conf/fms.ini, 将其中的ADAPTOR.HOSTPORT = :1935,80一行,改为ADAPTOR.HOSTPORT =:1935; 不让FMS监听80端口;
2.修改其中 HTTPPROXY.HOST = :8134一行,改为: HTTPPROXY.HOST =
二.Client
找一个装有摄像头的电脑用于直播视频编码端, 安装Flash Media Live Encoder 3.2到:\Program Files\Adobe\Flash Media Live Encoder 3.2目录下,打开其子目录Conf下面的config.xml文件,修改/flashmedialiveencoder_config /mbrconfig/streamsynchronization/enable节点值为true. 即:
<mbrconfig>
<streamsynchronization>
<enable>true</enable>
三.Server
1.配置FMS server在直播时使用绝对时间,打开rootinstall/applications/livepkgr/Application.xml
<Application>
<StreamManager>
<Live>
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
</Live>
</StreamManager>
</Application>
2.配置rootinstall/conf/Server.xml
<Root>
<Server>
<ResourceLimits>
<RecBuffer>
<MaxFlushTime> 1 <MaxFlushTime>
四.测试
启动上面安装的Flash Media Live Encoder 3.2,选preset Custom, 视频选H264,29.9fps,分辨率352x288,码率可选3个100, 200, 350,H264可设置每2秒一个关键帧等,选MP3做音频等。在右边的Stream to Flash Media Server的FMS URL 里面填上:rtmp://yourserverip/livepkgr,在Stream一栏填上:livestream%i?adbe-live- event=liveevent (如果上面选了MBR3个码率直播),如果只选了一个码率直播则填上:livestream?adbe-live-event=liveevent然后点开始即可发布直播。
然后在播放器中播放:
http://yourserverip:8134/hds-live/livepkgr/_definst_/liveevent/livestream.f4m (一个码率SBR直播)
或三个码率直播(MBR)的情况下输入下面三个中的一个
http://yourserverip:8134/hds-live/livepkgr/_definst_/liveevent/livestream1.f4m
http://yourserverip:8134/hds-live/livepkgr/_definst_/liveevent/livestream2.f4m
http://yourserverip:8134/hds-live/livepkgr/_definst_/liveevent/livestream3.f4m
如果在要发布HLS,相应的hds-live修改为hls-live
直播时生成的视频数据文件保存在rootinstall/applications/livepkgr/streams/_definst_/目录下
控制文件保存在rootinstall/applications/livepkgr/events/_definst_/liveevent目录下