首先安装docker,设置系统启动
sudo apt-get install -y docker.io
sudo systemctl start docker
查看docker进程
ps -ef|grep docker
拉去srs镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.198
启动镜像
sudo docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp --name srs --ip 0.0.0.0 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.198 ./objs/srs -c /usr/local/conf/srs.conf
进入镜像
exec -it srs /bin/bash
查看配置文件并编辑
vi conf/srs.conf
内容如下:
# 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;
# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#config-candidate
candidate $CANDIDATE;#最好改成srs服务的ip
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc
rtmp_to_rtc on;#打开才能webrtc拉流
# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp
rtc_to_rtmp on;
}
}
exit 退出镜像控制台
docker启动服务
sudo docker start srs
sudo docker ps -a
访问localhost:8080
点进去查看配置信息等等
查看控制台/console
控制台可以查看推流和拉流过程中的追踪信息
下一步就可以推流,拉流操作了
推流把本地视频推到srs服务 rtmp
ffmpeg -re -i xxx.mp4 -vcodec copy -acodec copy -f flv -y rtmp://srs服务地址:1935/live/livestream
-stream_loop -1 无限循环推流参数可选
页面拉流 完成
webrtc拉流
下面用yolov5训练好的模型来识别视频流
训练自定义模型的文章
yolov5机器学习,训练自己的数据集_山塘小鱼儿的博客-CSDN博客
首先继续ffmpeg推流到SRS服务,命令同上
运行yolov5的detect.py,把--source 修改为视频流的地址
http://xxxxxxx:8080/live/livestream.flv
效果图
这样就从推流到服务,拉流,yolo模型学习训练,最终实现视频流检测与识别。
SRS中文网站