Window下SRS服务器的搭建

news2025/7/27 18:23:58

                                                                        ---2023.7.23

  • 准备材料
  1. srs下载:GitHub - ossrs/srs at 3.0release

目前srs release到5.0版本。

srs官方文档:Introduction | SRS (ossrs.net)

  1. Docker下载:Download Docker Desktop | Docker

进入docker官网选择window版本直接下载。由于srs无法直接部署在Window中,因此需要使用docker容器。

  • 搭建步骤

2.1 安装docker

Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。

Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。

在安装docker之前先要打开window的虚拟机。

2.2.1 安装 Hyper-V

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

1、开启 Hyper-V

1)鼠标移动到window图标上,有机鼠标右键。点击选择“应用和功能”。

2)下拉弹出框右边的滑动条到最底下,点击“程序和功能”。

3)点击“启动或者关闭window功能”

4)勾选Hyper-V

至此Hyper-v打开完成,启动可以使用命令也可以点击鼠标右键启动。

启动命令如下:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2.2.2 安装docker

双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。

在cmd中输入docker出现docker 命令格式则说明安装成功了。

2.2、编译安装srs服务器

1、启动window中的cmd控制台窗口。

2、启动docker并映射srs文件的命令。

docker run -it --name=srs -v /G/srs:/tmp/srs -w /tmp/srs/trunk -p 1935:1935  -p 1985:1985 -p 8080:8080 -p 8085:8085 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev bash

这个命令我是链接的G:\srs\路径。

这里不能使用pwd和window的路径格式。例如G:\srs要修改为/G/srs。

执行完成之后,执行ls命令,出现srs的文件结构就说明映射成功了。

3、docker启动映射成功之后执行./configure。

此处可能出现问题:

 bad interpreter: No such file or directory

解决方法如下:

vi configure

:set ff
:set fileformat=unix
:wq

4、修改问题之后继续执行 ./configure。出现如下界面说明./configure执行成功。 

5、 执行make命令。出现如下界面说明make成功了。

6、执行 ./objs/srs -c conf/srs.conf命令启动srs服务。出现如下界面说明启动成功了。

至此,srs服务启动成功。

SRS测试使用方法

一、ffmpeg推拉流测试

1、使用ffmpeg命令推流

ffmpeg -re -i C:\Users\admin\Desktop\ship\pasf2.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.10.103/live/livestream

以上命令中的ip地址是服务器所在的window系统的ip地址。

  1. 使用ffmpeg命令拉流
ffplay rtmp:///live/livestream

二、WebRTC推拉流

1、使用ffmpeg命令推流

ffmpeg -re -i C:\Users\admin\Desktop\ship\pasf2.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.10.103/live/livestream

以上命令中的ip地址是服务器所在的window系统的ip地址。

2、使用WebRTC拉流

推送流成功之后,使⽤srs⾃带的rtc_player播放器进⾏播放,直接请求srs服务的8080端⼝即可。

在浏览器中输入如下网址:

http://192.168.10.103:8080/players/srs_player.html

三、VLC推拉流

四、docker命令

1、查看decker中运行的容器

docker ps -a

2、 获取容器/镜像的元数据

docker inspect [OPTIONS] NAME|ID
docker inspect registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev

3、连接到正在运行中的容器

docker attach [OPTIONS] CONTAINER
问题:Error response from daemon: No such container: registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev

解决办法:出现此问题的原因是由于docker容器没有启动,需要启动docker容器。

链接命令:docker attach 39031b94cb0e

4、启动docker容器

docker start 39031b94cb0e

5、停止docker容器

docker stop 39031b94cb0e

6、直接关闭容器

docker kill 容器ID或容器名

7、重启docker容器

docker restart 容器ID或容器名

五、srs命令

1、指定配置文件,即可启动srs

./objs/srs -c conf/srs.conf

2、启动srs

./etc/init.d/srs start

3、查看SRS状态

./etc/init.d/srs status

4、停止SRS

./etc/init.d/srs stop

5、重启SRS

./etc/init.d/srs restart

6、Reload SRS

./etc/init.d/srs reload

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

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

相关文章

SolidWorks2018安装教程(正版)

网盘资源附文末 一.简介 SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,SolidWorks公司于两年间成为CAD/CAM产业中获利最高的公司。良好的财务状况和用户支持使得SolidWorks每年都有数十乃至数百…

Unity中获取时间戳、日期、时间、毫秒、秒以相互转换、自定义格式时间

Unity中获取时间戳、日期、时间、毫秒、秒以相互转换、自定义格式时间 介绍时间戳是什么什么时候用时间戳 获取时间获取当前时间获取时间戳日期转时间戳时间戳转日期将时间戳转换为多久之前星期自定义格式时间 总结 介绍 这里附带一个时间戳和时间转换的网址 时间戳是什么 时…

Java NIO为何导致堆外内存OOM了?

Java NIO为何导致堆外内存OOM了? 描述 某天报警:某台机器部署的一个服务突然无法访问。谨记第一反应登录机器查看日志,因为服务挂掉,很可能因OOM。这个时候在机器的日志中发现了如下的一些信息: nio handle failed j…

小程序视频编辑SDK技术解决方案

传统的视频制作方式不仅耗时耗力,而且难以满足企业多样化、个性化的定制需求。为了帮助企业解决这一难题,美摄科技推出了一款专为企业量身定制的小程序视频编辑SDK技术解决方案,让您的视频制作更加高效、专业! 一、功能强大&…

用前端框架Bootstrap的AdminLTE模板和Django实现后台首页的页面

承接博文 用前端框架Bootstrap和Django实现用户注册页面 继续开发实现 后台首页的页面。 01-下载 AdminLTE-3.1.0-rc 并解压缩 以下需要的四个文件夹及里面的文件百度网盘下载链接: https://pan.baidu.com/s/1QYpjOfSBJPmjmVuFZdSgFQ?pwdo9ta 下载 AdminLTE-3.1…

【SpringCloud学习笔记(一)】

SpringCloud学习笔记(一) 一、认识SpringCloud1.1 简介1.2 服务与拆分与远程调用1.3 微服务的远程调用 二、微服务的几大组件2.1 EureKa注册中心2.1.1 Eureka介绍:2.1.2 Eureka实践: 2.2 Ribbon负载均衡2.2.1 负载均衡流程2.2.2 负…

Elasticsearch(三)---索引

索引文档的语法curl用法 CURL: 简单认为是可以在命令行下访问url的一个工具 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。 curl -X 指定http请求的方法 GET POST PUT DELETE restfu…

【POI-EXCEL-下拉框】POI导出excel下拉框数据太多导致下拉框不显示BUG修复

RT 最近在线上遇到一个很难受的BUG,我一度以为是我代码逻辑出了问题,用了Arthas定位分析之后,开始坚定了信心:大概率是POI的API有问题,比如写入数据过多。 PS:上图为正常的下拉框。但是,当下拉…

一文看懂图像格式 RAW、RGB、YUV、Packed/Unpacked、Bayer、MIPI、Planar、Semi-Planar、Interleaved

目录 一、通用属性 1. Packed/Unpacked 2. 压缩/非压缩 二、RAW 1. Bayer格式 2. 分类 3. MIPI RAW 三、RGB 分类 四、YUV 1. YUV与RGB转换 2. 分类 3. 内存计算 五、压缩格式 有的人,错过了,一生再也找寻不到。 本文详细分析各种图像格式…

[GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等

SSTI模板注入-中括号、args、下划线、单双引号、os、request、花括号、数字被过滤绕过(ctfshow web入门370)-CSDN博客 ssti板块注入 正好不会 {%%}的内容 学习一下 经过测试 发现过滤了 {{}} 那么我们就开始吧 我们可以通过这个语句来查询是否存在ss…

鸿蒙切换到主线程

鸿蒙和安卓都是一样的视图操作都需要在主线程或者UI(视图线程)中处理,否则就会报错。 在安卓中可以通过: View.post(new Runnable() {Overridepublic void run() {textView.setText("更新textView");} });runOnUiThread(new Runnable() {public void run…

算法学习打卡day36| 738.单调递增的数字、 968.监控二叉树、贪心算法阶段学习总结

738.单调递增的数字 力扣题目链接 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10 …

JVM虚拟机:通过一个例子解释JVM中栈结构的使用

代码 代码解析 main方法执行&#xff0c;创建栈帧并压栈。 int d8&#xff0c;d为局部变量&#xff0c;是基础类型&#xff0c;它位于虚拟机栈的局部变量表中 然后创建了一个TestDemo的对象&#xff0c;这个对象在堆中&#xff0c;并且这个对象的成员变量&#xff08;day&am…

安防视频监控平台EasyCVR(V.3.4)新功能:告警查询操作步骤

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼…

2024王道考研计算机组成原理——中央处理器

CPU的运算器其实就是进行固定的数据处理&#xff0c;后面讲的CPU主要侧重的是它的控制器功能 运算器的基本结构 左右两边都是16位&#xff0c;因为寄存器可能位于左右两端的一边(源/目的操作数) A、B两端都要接一堆线 通用寄存器 ALU都在运算器当中 从主存来的数据直接放到…

3201. 任务调度

有若干个任务需要在一台机器上运行。 它们之间没有依赖关系&#xff0c;因此可以被按照任意顺序执行。 该机器有两个 CPU 和一个 GPU。 对于每个任务&#xff0c;你可以为它分配不同的硬件资源: 在单个 CPU 上运行。在两个 CPU 上同时运行。在单个 CPU 和 GPU 上同时运行。在两…

RabbitMQ消息队列笔记

目录 docker Java 导包 配置文件 Work Queues 消息堆积 消息生产者发送消息到队列 消息消费者接收消息 Fanout交换机 Direct交换机发送消息 用Java代码创建交换机和队列、绑定 Direct交换机 Direct交换机发送消息 用Java代码创建交换机和队列、绑定 基于注解声明队…

Rust 语言常见的一些概念(上)

目录 1、变量的可变性 常量 隐藏 2、数据类型 2.1 标量类型 整型 浮点型 数值运算 布尔型 字符类型 复合类型 元组类型 数组类型 1、变量的可变性 变量默认是不可改变的&#xff08;immutable&#xff09;。这是 Rust 提供给你的众多优势之一&#xff0c;让你得以…

win32 读写UTF-8格式的文件的方法

1&#xff0c;写入数据 最开始是在写入数据前先写入三个字节 BYTE btHead[] { 0xEF,0xBB,0xBF }; ::WriteFile(hFile, btHead, 3, &dwWrite, 0); ::WriteFile(hFile, str, lstrlen(str)*sizeof(TCHAR), &dwWrite, 0);这样写入后文件样式为&#xff1a; 格式是UTF-8…

基于Python制作一个动物识别小程序

目录 引言研究背景目的与意义 动物识别技术概述基本原理图像处理与特征提取机器学习与深度学习方法 数据集与数据预处理数据收集与构建数据预处理步骤数据增强技术 特征提取与选择基础特征提取方法特征选择与降维 引言 研究背景 动物识别是计算机视觉和模式识别领域的重要研究…