Flash Media Server 使用小计

今天没太多事情,就打算尝试下adobe的FMS,结果在漫长的3个小时里,我差点崩溃了。先是到adobe的官网www.adobe.com找啊找,找了半天终于找到下载链接,然后就下吧,提示要注册,好不容易注册完了,点击下载又没反应,下不了。顿时满腹牢骚,默默的骂了adobe这傻逼N次之后,接着谷歌。最后终于不负所望,在另一个地方找到了下载链接http://fms45.cuplayer.com/fms4download.html,虽然版本有些旧,但是想想我也就玩玩而已,又不在线上用,就下载了。

安装过程一向都是很简单的事情,参见官方文档:http://help.adobe.com/en_US/flashmediaserver/install/WS5b3ccc516d4fbf351e63e3d119ed5bf947-7ffcInstallConfigure.html#WS5b3ccc516d4fbf351e63e3d119ed5bf6c6-7feeInstallConfigure

开始安装

[root@vianet ~]# tar zxvf FlashMediaServer4_x64.tar.gz
[root@vianet ~]# cd FMS_4_0_3_r4011/
[root@vianet FMS_4_0_3_r4011]# ./installFMS
./installFMS: command substitution: line 204: syntax error near unexpected token `elif'
./installFMS: command substitution: line 204: ` elif [ -f /etc/mandrake-release ] ; then'
sed: -e expression #1, char 14: unknown option to `s'
sed: -e expression #1, char 9: unknown option to `s'
./installFMS: line 199: /etc/SUSE-release: No such file or directory
sed: -e expression #1, char 6: unknown option to `s'
ERROR: A required package, libcap, was not found on your Linux x86_64 RedHat.
       Please install required package and run Adobe Flash Media Server installer again.

缺少compat-libcap1这个包,按照提示装上就行了

[root@vianet FMS_4_0_3_r4011]# yum install compat-libcap1 -y

安装过程中会有一堆的询问过程,不要急,慢慢看然后参照官方安装文档选择下就行了,最后安装结束,如下:

----------- Install Action Summary -----------
Installation directory         = /opt/adobe/fms
Adobe Flash Media Server Port        = 1935,80
Adobe Flash Media Admin Server Port  = 1111
Apache Install                 = Yes
Administrative username        = admin
Administrative password        = (suppressed)
service owner                  = fms
service user                   = fms
service group                  = fms
Run as daemon                  = Yes
Start Adobe Flash Media Server       = Yes
Proceed with the installation? (y/n/q): y
Installing Adobe Flash Media Server files...
Configuring Adobe Flash Media Server...

管理FMS,启动/关闭:

/opt/adobe/fms/fmsmgr server fms start
/opt/adobe/fms/fmsmgr server fms stop

如果你和我一样安装了apache,这时就可以直接访问如下几个地址:

首页: http://217.40.208.102/
FMS资料文档: http://217.40.208.102/documentation/
后台管理:http://217.40.208.102/fms_adminConsole.htm
当然更多的链接可以直接看下apache的配置文件 /opt/adobe/fms/Apache2.2/conf/httpd.conf

不忘初心,方得始终。我最初想搞明白的就两个地方:

1.如何扔一个视频到FMS服务器,就出一个rtmp地址,客户端实时去看
2.如何将录像机等原始信号扔到FMS服务器,然后出来一个rtmp地址,客户端实时观看

先说下第一个

官方有个好听的名字叫Stream video on-demand ,我们首先传一个文件到/opt/adobe/fms/applications/vod/media下,我传的文件是99656464.flv,所以ramp地址就是 rtmp://217.40.208.102/vod/99656464,然后ffplay 测试下:

ffplay "rtmp://217.40.208.102/vod/99656464"

再说第二个

由于我手头没有录像机等可以直接出原始信号的设备,这里就直接用ffmpeg向FMS服务器推一个rtmp测试流,脚本如下:

push_stream.sh

#!/bin/bash
for((;;)); do
    ffmpeg -re -i 99656464.hlv -vcodec copy -acodec copy -f flv -y rtmp://217.40.208.102/live/livestream
    sleep 1
done

然后客户端 ffplay 测试

ffplay "rtmp://217.40.208.102/live/livestream live=1"

自言自语:

关于rtmp server可以折腾的开源软件也挺多的,有大名鼎鼎的nginx下的https://github.com/arut/nginx-rtmp-module,也有国产的https://github.com/winlinvip/simple-rtmp-server等等,没事的时候都可以瞅瞅,研究下。

参考资料:

FMS 4.0下载: http://pan.baidu.com/s/1pJmJDXL

FMS 相关文档:http://help.adobe.com/en_US/flashmediaserver/install/index.html

Adobe Flash Media Server即時影音串流服務: http://www.dotblogs.com.tw/benjamin/archive/2009/08/05/9878.aspx