简介:
SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT。
你可以用它实现视频推流,并且支持http回调事件(HTTPCallback),还可以保存视频流文件。支持本地化部署,操作简单。
1.1 安装SRS流媒体服务器
步骤一 :获取SRS
git clone https://github.com/ossrs/srs.git srs.6.0
cd srs.6.0
cd trunk
步骤二:编译SRS
./configure --gb28181=on
make
步骤三:参考SRS配置文件
配置文件在trunk/conf目录里,服务器启动时指定改配置文件(srs的conf文件夹有该文件)。
我们这里使用srs.conf,支持rtmp、hls、http-flv拉流。
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
#srs_log_tank file;
#srs_log_file ./objs/srs.log;
daemon on;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
play{
gop_cache_max_frames 2500;
}
}
~
~
~
"conf/srs.conf" 43L, 984C
对应配置文件的解析可以参考full.conf文件
这里的端口:
1935:对应的是rtmp服务
1985: 对应的是http api服务,想进一步了解的可以去看官网:https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi
8080: 对应的是http-flv、hls服务器端口
注意:云服务器一定要在后台开放对应的端口
步骤四:启动SRS
./objs/srs -c ./conf/srs.conf
步骤五:查看日志
tail -n 30 -f ./objs/srs.log
1.2 查看控制台
在浏览器输入:
http://192.168.10.8:1985/console/ng_index.html
#改为自己的IP
看到这个画面就说明我们已经安装好了SRS
1.3 测试SRS流媒体服务器
步骤一: 使用ffmpeg推流
ffmpeg -re -stream_loop -1 -i /home/li/桌面/1.mp4 -acodec copy -f flv rtmp://192.168.10.8/live/livestream
# -i 后面是你要推流的本地视频地址
rtmp 后面是你要将视频推送到的服务器IP
可以看到我们已经推流成功
步骤二:ffplay拉流
ffplay http://192.168.10.8:8080/live/livestream.flv
# 使用该命令拉流
可以看到我们已经在拉流了