欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下AdobeMediaServer5推流测试

程序员文章站 2022-07-13 14:42:41
...

在正常搭建了AMS服务器后,想测试一下AMS搭建是否成功,于是通过PUSH本地视频到AMS上,然后再通过VLC或者AMS自带的播放器来播放直播流,测试成功。

以下,只是我的测试的步骤,第一次接触AMS,难免有不对或疏漏的地方,如有错误,多多指教,我会立马修改。

在测试RTMP 推流中,使用的雷博的代码。

一、web页面配置
1)端口确认
使用命令netstat -anp | grep “LISTEN” 确认是否开启端口
Linux下AdobeMediaServer5推流测试
如果没有开启,则使用下面的命令开启端口

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即可进入配置界面
Linux下AdobeMediaServer5推流测试
点击“Launch Administration Console”,然后输入创建服务器时的用户名和密码,即可进入Web配置页面
Linux下AdobeMediaServer5推流测试

二、测试
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”为自定义的信息
Linux下AdobeMediaServer5推流测试
Linux下AdobeMediaServer5推流测试
下图可以看到连接正常
Linux下AdobeMediaServer5推流测试

在VLC中直接输入刚才push的地址,即可看到代码PUSH的直播流
Linux下AdobeMediaServer5推流测试

在VLC连接成功后,可以从后台看到相关的信息
Linux下AdobeMediaServer5推流测试
Linux下AdobeMediaServer5推流测试
Linux下AdobeMediaServer5推流测试

网页播放:
直接打开AMS安装路径下samples\videoPlayervideoplayer.html文件,
\192.168.102.106\AFS\AMS_5_0_3_r3029\samples\videoPlayervideoplayer.html
然后在打开的网页中输入PUSH流的地址,即可看到视频流
Linux下AdobeMediaServer5推流测试

相关标签: AMS RTMP 推流