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

news2024/11/19 23:29:43

首先安装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 --name srs --ip 0.0.0.0 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.198

进入镜像

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;
}
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 off;
        # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp
        rtc_to_rtmp off;
    }
}

exit 退出镜像控制台

docker启动服务

sudo docker start srs

sudo docker ps -a

访问localhost:8080

 点进去查看配置信息等等

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

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

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

页面拉流 完成

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

训练自定义模型的文章

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

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

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

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

效果图

 

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PPT设置“只读模式”的两种方法

想要防止PPT文件被意外更改,或者禁止他人随意更改,我们可以给PPT设置保护模式,而PPT的“只读模式”就起到了这样的作用。 ​具体的设置方法有两种,我们可以根据不同需求选择合适的方法。 方法一: 防止意外更改&…

Linux安装Nexus3搭建maven私服超详细搭建上传步骤

下载nexus3.x 上传nexus压缩包并解压 启动 开启端口号 浏览器访问 ​编辑 设置开机自启动 运行用户为root (编辑nexus bin下的nexus.rc) 修改nexus3启动时要使用的jdk版本 修改nexus3默认端口 私服新建自定义的仓库 添加角色和用户 添加角色 添加用户 使用 Mave…

[附源码]java毕业设计学生实习管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

12.5 Hierarchical names (层次化名称)

Verilog HDL描述中的每个标识符应具有唯一的分层路径名。模块的层次结构和项目的定义(如模块内的任务和命名块)应定义这些名称。名称的层次结构可以被视为树结构,其中每个模块实例、生成块实例、任务、函数或命名的begin-end 或者 fork-join块…

【Git】一文带你入门Git分布式版本控制系统(简介,安装,Linux命令)

Git 系列文章目录 文章目录Git 系列文章目录一、前言二、安装 Git三、基本 Linux 命令一、前言 [ 什么是Git?] Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。【百度百科】 Git 是分布式版本控制系统&#…

Scratch、Python、C++,谁才是少儿编程的第一选择?

前言 面对市面上形形色色的编程语言类型,经常有家长犯难问我们该如何为孩子选择合适的课程: “那种拖块看起来像玩游戏,不如 Python、C 这样的代码编程语⾔⾼级。” “现在是人工智能时代,直接让孩子从Python学习,以…

【0147】当参数shared_memory_type分别为sysv和mmap时,差异为何如此大?

文章目录 1. sysv和mmap差异如此大2. 底层原理2.1 创建匿名mmap()共享内存段2.2 确定huge page大小2.3 创建ipcs看见的64字节shared memory1. sysv和mmap差异如此大 在【0145】postmaster创建System V shared memory默认值大小(2)一文中的第1节里,我有给出过当postgresql.c…

Hystrix 请求合并、请求隔离、优化

文章目录请求合并引入依赖启动类 加注解EnableHystrixservice服务测试请求隔离线程池隔离&#xff08;大部分情况下&#xff09;信号量隔离线程池隔离演示引入依赖启动类 加注解EnableHystrixservice服务测试信号量隔离演示Hystrix的其他用法请求合并 引入依赖 <dependenc…

linux文件的隐藏属性

1.查看隐藏属性 lsattr 查看文件隐藏属性 lsattr -d 查看目录隐藏属性 lsattr -a 显示隐藏文件隐藏属性 lsattr -R 连同子目录的数据也一并列出来 2.修改隐藏属性 chattr 修改隐藏属性 属性A &#xff1a;当设定了 A 这个属性时&#xff0c;若你有存取此文件(或目录)时&a…

ACM-BCB2019 | SMILES-BERT:基于大规模无监督预训练的分子属性预测模型

原文标题&#xff1a;SMILES-BERT: Large Scale Unsupervised Pre-Training for Molecular Property Prediction 链接&#xff1a;https://doi.org/10.1145/3307339.3342186 一、问题提出 分子指纹&#xff1a;可用于分子性质分类、回归或生成新分子等各种应用。传统的分子指纹…

【强化学习论文合集】IJCAI-2022 强化学习论文 | 2022年合集(五)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

设计模式之美——单一职责原则和开闭原则

“看懂”和“会用”是两回事&#xff0c;而“用好”更是难上加难。 SOLID 原则&#xff1a; SRP单一职责原则&#xff08;the single responsibility principle &#xff09; OCP开闭原则&#xff08;the open closed principle&#xff09; LSP里氏替换原则&#xff08;the l…

【HMS Core】School Diary应用集成多个HMS Core服务,更好的体验华为生态系统

一、介绍 总览 通过建立本次的School Diary应用&#xff0c;您可以更好地体验华为生态系统的组成部分&#xff0c;包括认证服务、云存储和云数据库等Serverless服务。此外您还可以了解到如何使用账号服务集成应用登录功能。老师和学生两种角色的匹配过程是本应用的一大特色。…

SpringCloud微服务(九)——Ribbon负载均衡

Ribbon负载均衡服务调用 SpringCloud 已停更 github官网&#xff1a;https://github.com/netflix/ribbon Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具&#xff0c;它基于Netflix Ribbon实现。通过Spring Cloud的封装&#xff0c;可以让我们轻松地将面向服务…

高斯分布的乘积与卷积

高斯分布是一个很重要的连续分布形式&#xff0c;频繁出现各种应用场景里也可以导出很多分布&#xff0c;如在典型的线性回归中对误差 的建模就是用的标准正态分布&#xff0c;统计学的学生分布就是从正态分布中导出。随着贝叶斯统计学的广泛应用&#xff0c;相乘的高斯分布&am…

【仿真建模】第四课:AnyLogic入门基础课程 - 轨道交通仿真入门讲解

文章目录一、轨道库的概念和特点二、轨道交通仿真三、更换车头和车身样式一、轨道库的概念和特点 二、轨道交通仿真 新建模型 搭建轨道 定义轨道上的起点和终点 拖拽出一个trainSource&#xff0c;设置其车厢数量为4&#xff08;默认为11&#xff0c;车厢太多会超出轨道&…

nginx(六十)proxy模块(一)proxy_pass指令

一 proxy模块处理请求的流程 ① 流程图 说明&#xff1a; nginx从client接收的是http协议,转发给上游的也是http协议备注&#xff1a; 后续根据处理请求的流程,来讲解相关指令 二 proxy_pass ① 基本解读 说明&#xff1a; proxy_pass是一个动作指令 ② proxy_pass的…

【题型总结】找到第n个自定义数 | 丑数系列 + 神奇数字

文章目录找到第n个自定义数丑数【LC263】丑数Ⅱ【LC264】优先队列多指针超级丑数【LC313】优先队列【超时】多指针第N个神奇数字【LC878】找规律二分查找数学丑数Ⅲ【LC1201】二分查找数学总结找到第n个自定义数 因为神奇数字做了相关的题目&#xff0c;个人建议做题顺序&…

涨知识!Python 的异常信息还能这样展现

【导语】&#xff1a;在日常开发的过程中&#xff0c;当代码报错时&#xff0c;我们通常要不断打印、阅读traceback提示信息&#xff0c;来调试代码&#xff0c;这篇文章介绍了如何实现一个Exception Hooks&#xff0c;使得traceback模块的提示信息更加精确&#xff1b;同时还介…

java项目-第159期ssm超市管理系统_ssm毕业设计_计算机毕业设计

java项目-第159期ssm超市管理系统-ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm超市管理系统》 该项目分为2个角色&#xff0c;管理员、员工。 员工登录后台主要负责商品的出入库&#xff0c;以及个人事项办理&#xff0c;比如&#xff1a; 上…