Linux下AdobeMediaServer5推流测试
在正常搭建了AMS服务器后,想测试一下AMS搭建是否成功,于是通过PUSH本地视频到AMS上,然后再通过VLC或者AMS自带的播放器来播放直播流,测试成功。
以下,只是我的测试的步骤,第一次接触AMS,难免有不对或疏漏的地方,如有错误,多多指教,我会立马修改。
在测试RTMP 推流中,使用的雷博的代码。
一、web页面配置
1)端口确认
使用命令netstat -anp | grep “LISTEN” 确认是否开启端口
如果没有开启,则使用下面的命令开启端口
iptables -I INPUT -p tcp --dport 1935 -j ACCEPT
iptables -I INPUT -p tcp --dport 1111 -j ACCEPT
service iptables restart
2)登录web
当在Linux上配置好AMS,并且确认开启1935 和 1111端口后,直接输入服务器的IP即可进入配置界面
点击“Launch Administration Console”,然后输入创建服务器时的用户名和密码,即可进入Web配置页面
二、测试
1)RTMP地址
1.发布流
在
RHEL6.4下安装Adobe Media Server 5 (http://www.linuxidc.com/Linux/2013-07/87732.htm)
中有介绍到,
AMS要发布的视频存放目录为webroot/vod下
发布RTMP地址为: rtmp://10.120.112.35:1935/vod/mp4:beijing5-360p.mp4
发布HTTP地址为: http://10.120.112.35/vod/beijing5-360p.mp4
2.接收流
即IPC将视频流推流到AMS服务器,推流的地址如下
rtmp://192.168.102.106/live/livestream
rtmp://192.168.102.106:1935/live/myStream
其中,上面的“livestream” 和 “myStream”可以自定义,前面的“live”则是根据你自己的AMS上面的application的定义,如下:
$ ls samples/applications/
live livepkgr multicast vod
在网上查到的资料,这些applications可以根据自己的需要进行增加,有兴趣的可以百度下
2)测试
1.发布流测试
①VLC:
直接在VLC里面输入地址:rtmp://10.120.112.35:1935/vod/mp4:beijing5-360p.mp4
即可播放对应的视频
②RTMPDUMP
直接从网络上下载最新版的RtmpDump V2.4 ,编译之后,输入
./rtmpdump -o savename.flv -r rtmp://192.168.102.106:1935/vod/mp4:sample1_500kbps.f4v
即可下载对应的视频,log如下:
# ./rtmpdump -o savename.flv -r rtmp://192.168.102.106:1935/vod/mp4:sample1_500kbps.f4v
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
INFO: Metadata:
INFO: duration 114.66
INFO: moovPosition 40.00
INFO: width 640.00
INFO: height 352.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 100.00
INFO: avclevel 30.00
INFO: aacaot 2.00
INFO: videoframerate 29.97
INFO: audiosamplerate 22050.00
INFO: audiochannels 2.00
INFO: trackinfo:
INFO: length 3438435.00
INFO: timescale 30000.00
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 2528256.00
INFO: timescale 22050.00
INFO: sampledescription:
INFO: sampletype mp4a
1.583 kB / 0.00 sec (0.0%)
320.838 kB / 5.30 sec (4.6%)
576.838 kB / 10.68 sec (9.3%)
704.838 kB / 13.95 sec (12.1%)
832.838 kB / 15.95 sec (13.9%)
960.838 kB / 18.02 sec (15.7%)
1152.838 kB / 21.08 sec (18.3%)
6909.989 kB / 113.35 sec (98.8%)
WARNING: Larger timestamp than 24-bit: 0xfffffe5e
7000.217 kB / 114.61 sec (99.9%)
Download complete
③雷博代码
使用雷博的代码,目前出现问题
# ./simplest_librtmp_receive
ERROR: rtmp server sent error
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
目前尚未找到原因。
2.推流测试
参考链接:
rtmp实现推流功能
http://blog.csdn.net/ternence_hsu/article/details/58594687
代码使用的是上面的代码和雷博的代码进行测试。
在代码将本地的文件push到rtmp://192.168.102.106:1935/live/myStream
运行之后,如果push成功,在可以在web配置页面看到下面的信息,其中“myStream”为自定义的信息
下图可以看到连接正常
在VLC中直接输入刚才push的地址,即可看到代码PUSH的直播流
在VLC连接成功后,可以从后台看到相关的信息
网页播放:
直接打开AMS安装路径下samples\videoPlayervideoplayer.html文件,
\192.168.102.106\AFS\AMS_5_0_3_r3029\samples\videoPlayervideoplayer.html
然后在打开的网页中输入PUSH流的地址,即可看到视频流
上一篇: openfire+XMPP实现即时通讯
下一篇: Unity: 简单血条