win11下,RTMP流媒体服务器保姆级教程

本片博客将详细介绍如何搭建一个RTMP流媒体服务器,包含源码下载,编译常见问题解决方法以及流媒体测试,最后讲解了如何利用obs软件实现推流。

服务器:SRS 3.0(Simple Realtime Server,支持RTMP、HTTP-FLV、HLS、WebRTC)
推流端:ffmpeg + OBS
拉流端:ffplay +VLC + srs播放器

🎡导航小助手🎡

    • 1.安装SRS流媒体服务器
    • 2.测试srs流媒体服务器
    • 3.使用OBS推流

1.安装SRS流媒体服务器

利用码云来下载源代码,速度块

	git clone -b 3.0release https://gitee.com/ossrs/srs.git

编译

	cd srs/trunk
	./configure
	make

编译可能遇到的问题,没有就跳过
第一种:build CherryPy-3.2.4 failed, ret=127
在这里插入图片描述

查看3rdparty中有安装包,
需要到objs目录下安装才有效

	 cp 3rdparty/CherryPy-3.2.4.zip ./objs/

解压好就ok了。

第二种:Build openssl-1.1.0e failed, ret=2
在这里插入图片描述
这个是由srs3.0自带openssl老版本导致的,可以自己手动去下载一个新的openssl

	sudo apt-get install openssl
	sudo apt-get install libssl-dev
	sudo apt-get install libssl0.9.8
	sudo apt-get install libgtk2.0-dev
	然后再重新配置:
	./configure --full --use-sys-ssl
	然后:
	make

如果报错:
在这里插入图片描述
执行

	/configure --without-utest --full --use-sys-ssl
	之后再make

成功效果如下:
在这里插入图片描述

启动服务器:

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

查看是否已经启动了srs:

	ps -ef | grep srs
或者
	./etc/init.d/srs status

在这里插入图片描述

实时查看SRS日志:

	tail -f ./objs/srs.log

停止、开始srs

	./etc/init.d/srs stop
	./etc/init.d/srs start

在这里插入图片描述
查看版本:

	./objs/srs -v

在这里插入图片描述
以上完成了RTMP流媒体搭建。

查看RTMP配置

	cd conf
	vim ttmp.conf

conf/rtmp.conf中的配置默认配置为:

	listen              1935;
	max_connections     1000;
	vhost __defaultVhost__ {
	}

1935rtmp使用的端口,如果改动需要在推拉流时指定端口号:如rtmp://192.168.100.109:2935/live/yqw
其中vhost __defaultVhost__就是rtmp://本机ip/live/livestream后的/live/livestream,如果不改动则默认是这个。
/live/livestream可以任意改变比如/x/y,只要推拉流一致就行,但必须是两个标识。

查看本机ip

	ifconfig

在这里插入图片描述

2.测试srs流媒体服务器

启动推流编码器
使用 FFmpegOBS推流:

	ffmpeg -re -i test.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.3.181/live/livestream

其中,test.flv,需要修改为实际flv文件名称
rtmp://192.168.3.181/live/livestream其中,ip需要改成上面ubuntu查询的ip号。

ffplay接收:

	ffplay -x 800 -y 600 rtmp://192.168.3.181/live/livestream

当然也可以使用vlc等进行接收。
srs在线播放不再支持trmp流的播放。

3.使用OBS推流

实测可用破解版下载:链接
文件推流
新添加一个“媒体源”
在这里插入图片描述
选择要推流的文件,多种流媒体文件都可以进行推流。
在这里插入图片描述
重点:设置“服务器”和“推码流”
在这里插入图片描述
在这里插入图片描述
之后点击“ 开始直播 ”
此时ubuntu里,
查看日志,发现有流上传,此时可以拉流查看。

在这里插入图片描述
当然,obs也可以实现多种输入的推流,可以尝试屏幕,窗口,摄像头等等。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具,一…

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码(一)Mutex(二) Lock(三)Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 ,你们的支持是我最大的动力!!!接下来会不断更新 golan…

是否有替代U盘,可安全交换的医院文件摆渡方案?

医院内部网络存储着大量的敏感医疗数据,包括患者的个人信息、病历记录、诊断结果等。网络隔离可以有效防止未经授权的访问和数据泄露,确保这些敏感信息的安全。随着法律法规的不断完善,如《网络安全法》、《个人信息保护法》等,医…

计算机网络: 点对点协议 PPP

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

提高三维模型的立面出图技术

提高三维模型的立面出图技术 摘要:立面出图是三维模型应用中常见的需求,它能够将三维模型呈现为平面立面图,用于建筑设计、室内装饰等领域。本文将介绍几种常用的立面出图技术,包括投影法、剖面法和渲染技术,并分析它们…

yolov8逐步分解(1)--默认参数超参配置文件加载

本章节将介绍yolov8算法训练过程中的第一步:加载默认训练参数以及超参的配置文件default.yaml。 Yolov8 训练的入口文件为train.py,文件结构如下图所示: 1. 执行train函数,函数默认配置参数为cfgDEFAULT_CFG &#xff0c…

前端 - 基础 表单标签 - 表单元素 input - (name Value checked maxlength )属性详解

目录 name 属性 Value 属性 Checked 属性 Maxlength 属性 场景问答 # <input> 标签 除了 type 属性外&#xff0c;还有其他常用属性 >>> name 属性 在上一节 我们遇到的 单选按钮 &#xff0c;为什么 本应该 多选一 结果成了 多选多的问题 就…

深度学习_NLP常用库报错问题解决

1、SpaCy can‘t find model ‘zh_core_web_sm‘. It doesn‘t seem to be a python package or a valid path to a data 或者 can‘t find model ‘en_core_web_sm‘. It doesn‘t seem to be a python package or a valid path to a data 安装最新的版本&#xff1a; en_…

卡通纸箱空空如也404源码

源码介绍 卡通纸箱空空如也404源码&#xff0c;喜欢的小伙伴可以下方预览看看&#xff0c;满意之后下载放到任何目录都可以使用&#xff01; 源码下载 卡通纸箱空空如也404源码

Vue2.x安装Tinymce依赖冲突解决

Vue2.x安装Tinymce依赖冲突原因 使用vue整合tinymce富文本编辑器&#xff0c;安装依赖时报错 报错的原因是下载版本与vue的版本对不上vue2.x版本应该使用如下指定版本依赖更合适 npm install --save "tinymce/tinymce-vue^3.1"额外依赖为 npm install --save &quo…

【漏洞复现】通天星CMSV6车载视频监控平台Druid弱口令漏洞

Nx01 产品简介 通天星车载视频监控平台软件拥有多种语言版本&#xff0c;应用于公交车车载视频监控、校车车载视频监控、大巴车车载视频监控、物流车载监控、油品运输车载监控等公共交通上。 Nx02 漏洞描述 通天星车载视频监控平台存在Druid弱口令漏洞&#xff0c;攻击者可以通…

【Kotlin】委托模式

1 委托模式简介 委托模式的类图结构如下。 对应的 Kotlin 代码如下。 fun main() {var baseImpl BaseImpl()var baseWrapper BaseWrapper(baseImpl)baseWrapper.myFun1() // 打印: BaseImpl, myFun1baseWrapper.myFun2() // 打印: BaseImpl, myFun2 }interface Base {fun my…

yolov5 v7.0打包exe文件,使用C++调用

cd到yolo5文件夹下 pyinstaller -p 当前路径 -i logo图标 detect.py问题汇总 运行detect.exe找不到default.yaml 这个是yolov8里的文件 1 复制权重文件到exe所在目录。 2 根据报错提示的配置文件路径&#xff0c;把default.yaml复制放到相应的路径下。&#xff08;缺少相应…

【C++入门】类和对象

目录 类的引入 类的定义 类的访问限定符及封装 访问限定符 封装 类的作用域 类的实例化 this指针 this指针的特性 两个经典问题 类的引入 在C语言的结构体中&#xff0c;只能定义变量。C在此基础上进行了升级&#xff0c;在C中&#xff0c;结构体内既可以定义变量&a…

【Leetcode】top 100 二分查找

35 搜索插入位置 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。 基础写法&#xff01;&#xff01;&#xff01;牢记…

SAP 批次号过期了不让过账配置 OMCQ - M7 667 671消息号设置为E

系统默认&#xff0c;批次到期过账时只是警告&#xff0c;仓库希望直接卡死 这种不需要增强&#xff0c;直接配置就好了 OMCQ 找到 M7 667 编号&#xff0c;把W改成E就可以了 改成E之后&#xff0c;这个过账就直接报错了 保险起见&#xff0c;把667和671都设置为E

C++ | Leetcode C++题解之第3题无重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution { public:int lengthOfLongestSubstring(string s) {// 哈希集合&#xff0c;记录每个字符是否出现过unordered_set<char> occ;int n s.size();// 右指针&#xff0c;初始值为 -1&#xff0c;相当于我们在字符串的左…

Linux 磁盘分区、挂载、使用情况

Linux无论有几个分区&#xff0c;分给哪一个目录使用&#xff0c;归根结底都只有一个根目录&#xff0c;独立且唯一的文件结构。 Linux中的每个分区都是用来组成整个文件系统的一部分。 Linux采用了一种“载入”的处理方法&#xff1a;整个文件系统包含了一整套的文件目录&…

神经网络发展历程:DNN、CNN、RNN

系列文章目录 李沐《动手学深度学习》多层感知机 模型概念和代码实现 李沐《动手学深度学习》卷积神经网络 相关基础概念 李沐《动手学深度学习》卷积神经网络 经典网络模型 李沐《动手学深度学习》循环神经网络 相关基础概念 李沐《动手学深度学习》循环神经网络 经典网络模型…