XMedia是AMS流媒体服务器的一个插件服务,可以扩展支持 FLV 、GB28181上传、WEBRTC、SRT协议上传,增强了服务器的功能
一、服务插件安装
资源下载 XMedia-CentOS7-x86-64-20240710-212007
把安装包放入LINUX服务器,执行如下命令,如果未安装unzip,请先进行安装(yum install unzip)。
unzip XMedia-CentOS7-x86_64-20240710-151115.zip
cd XMedia-CentOS7-x86_64-20240710-151115
sh INSTALL
则安装完毕,然后进入WEB后台进行端口设置,进行端口设置,如下图:
端口如果不是很明白请不要修改,可以直接提交。即便是不做修改也请点击“提交”按钮,这样服务器会对端口进行同步,这一步很重要。
二、开放服务器端口
Rtmp 转发服务 listen 1936
gb28181 data listen 9000;
gb28181 sip listen 5060;
http_api listen 1985;
http_server flv listen 8080;
rtc_server listen 8000; # UDP port
srt_server listen 10080; UDP
httpx_static listen 880 443 为WEBRTC开通代理服务
signaling listen 1989 WEBRTC信令服务器
可执行如下命令进行端口开放:
firewall-cmd --permanent --zone=public --add-port=10080-10080/udp
firewall-cmd --permanent --zone=public --add-port=8000-8000/udp
firewall-cmd --permanent --zone=public --add-port=1985-1985/tcp
firewall-cmd --permanent --zone=public --add-port=1936-1936/tcp
firewall-cmd --permanent --zone=public --add-port=8080-8080/tcp
firewall-cmd --permanent --zone=public --add-port=5060-5060/tcp
firewall-cmd --permanent --zone=public --add-port=9000-9000/tcp
firewall-cmd --permanent --zone=public --add-port=880-880/tcp
firewall-cmd --permanent --zone=public --add-port=443-443/tcp
firewall-cmd --permanent --zone=public --add-port=1989-1989/tcp
三、服务器启停命令及使用
systemctl start xmedia.service #启动
systemctl stop xmedia.service #停止
systemctl status xmedia.service #状态查看
启动后,如果上传rtmp 可以使用 1936端口,此时FLV的流也会自动生成,注意要使用FLV 在WEB上观看,那么要在WEB后台把播放器设为 FLV播放器,如下图:
GB28181上传目前只能支持海康2016协议,在海康摄像机上进行配置如下图:
如图中所示,传输协议要使用 TCP, 码流索引使用哪个流就要把这个流设为H264编码,否则无法进行录像,WEB播放也会受限或播放不了。
此处最重要的是SIP用户名,我们流媒体服务器中使用的流名是有个规则的,就是直播流都遵循 live[X]的规则, 那么这个X是什么呢? 就是34020000000000000004的后6位,所以此处表示上传到第4频道。
SRT协议作上传功能可以使用FFMPEG来做测试,如下示例
./ffmpeg -re -i ./x.mp4 -c copy -pes_payload_size 0 -f mpegts 'srt://192.168.20.167:10080?streamid=#!::r=live/live1,m=publish'
可以查看第一个频道是不是可以播放了。
WEBRTC的功能先暂不介绍了,因为这个没实际应用封装,个人要想使用比较复杂。后面想法是封装客户端这样就很容易实现视频会议了。。。