Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别

首先安装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

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第1张图片

 点进去查看配置信息等等Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第2张图片

查看控制台/console

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第3张图片

 控制台可以查看推流和拉流过程中的追踪信息

 下一步就可以推流,拉流操作了

推流把本地视频推到srs服务 rtmp

ffmpeg -re  -i xxx.mp4 -vcodec copy -acodec copy -f flv -y rtmp://srs服务地址:1935/live/livestream

 -stream_loop -1 无限循环推流参数可选

页面拉流 完成

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第4张图片

webrtc拉流

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第5张图片

 

下面用yolov5训练好的模型来识别视频流

训练自定义模型的文章

yolov5机器学习,训练自己的数据集_山塘小鱼儿的博客-CSDN博客

首先继续ffmpeg推流到SRS服务,命令同上

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第6张图片

 运行yolov5的detect.py,把--source 修改为视频流的地址

http://xxxxxxx:8080/live/livestream.flv

效果图

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第7张图片

 Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别_第8张图片

 这样就从推流到服务,拉流,yolo模型学习训练,最终实现视频流检测与识别。

SRS中文网站

SRS (Simple Realtime Server) | SRS

你可能感兴趣的:(demo,机器学习,人工智能,docker,运维,容器,srs流媒体)