SRS流媒体服务器搭建流程-简单实用版-程序员宅基地

技术标签: 技术类  srs  

#SRS流媒体服务器搭建流程-简单实用版
经过查阅很多博客,讲述的都不是很完善而且还把我搞的晕头转向,经过查阅20多篇文章特整理出简单的,SRS流媒体服务器搭建以及推流和拉流的一整套流程。
#安装环境
最好是云服务器或者本机安装虚拟机都可以,本人用的是云服务器,
1、先开通云服务器,选用centos7.8以上版本就行,最好是64位的如图:
在这里插入图片描述
服务器配置随意,我选用最低的配置,512内存的。1核
在这里插入图片描述
服务器开通好要把服务器安全组的端口例外1935/8090
通过putty的ssh工具,链接LNIUX服务器,进入后要返回主目录
在这里插入图片描述
之后呢去gitee.com搜索srs
或者https://github.com/ossrs/srs
都可以
想安装软件必须得借助于GIT命令,先看看服务器是否有GIT软件.
输入git -V
通过命令:yum -y install git 安装
在这里插入图片描述
安装成功后,执行

git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull

等待
安装成功后
在这里插入图片描述

要进行初始化
./configure && make
在这里插入图片描述

初始化后,我们要对配置进行更改
到 srs/trunk/conf/srs.conf
这个文件夹中 进行修改 使用 VI 编辑命令
常用的就是 推流1935 拉流8090 默认是8080 ,因服务器8080是网站端口需要备案,所以修改为8090.
在这里插入图片描述
修改后按ESC,并按:wq 保存退出.

在启动前还需要执行一个命令
./configure --with-stream-caster //编译SRS时打开StreamCaster支持
在这里插入图片描述

再执行一遍初始化
要进行初始化
./configure && make
在这里插入图片描述

最后我们运行SRS
./objs/srs -c conf/srs.conf
在这里插入图片描述
启动成功,注意这写命令都要在trunk目录下执行

其他命令
停止 ./etc/init.d/srs stop
重启 ./etc/init.d/srs restart

#推流
网址:rtmp://127.0.0.1:1935/live
利用软件https://obsproject.com/ 下载安装后就是中文版的
如图:在这里插入图片描述
串流秘钥可以随意写,在推流的时候会用到.
在软件的下部有个加号,点击后可以选择视频设备,就是摄像头,也可以选择浏览器,来进行推流
如图:
在这里插入图片描述
点击右下侧开始推流既可
推流成功会有绿色方块
如图:
在这里插入图片描述

#拉流
http://www.ossrs.net/players/srs_player.html
浏览这个网址
http://127.0.0.1:8090/live/111.flv
之后再输入网址后点击播放视频既可,
在这里插入图片描述
##注意事项
一定要把服务器的安全组增加端口1935/8090
服务器关闭防火墙的命令为
sudo /etc/init.d/iptables stop
sudo /sbin/chkconfig iptables off

#完成
其实很简单,很多人就把这个事写的那么复杂.
总结,这个教程只是讲述了如何搭建,以及调通.没有详细的环节.如果大家想把直播搞明白,还得深入的学习代码,例如多线程,例如分流,等.

没有文采,从来也不写日志,语言以及文本格式,都不好,大家请见谅!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hanbing2rz/article/details/113820753

智能推荐

论文翻译 - BITE: Textual Backdoor Attacks with Iterative Trigger Injection-程序员宅基地

文章浏览阅读1.1k次,点赞22次,收藏26次。后门攻击已成为 NLP 系统的新兴威胁。通过提供被投毒的训练数据,攻击者可以将“后门”嵌入到受害模型中,这允许满足某些文本模式(例如,包含关键字)的输入实例被预测为敌手选择的目标标签。在本文中,我们证明了设计一种既隐蔽(即难以注意)又有效(即攻击成功率较高)的后门攻击是可能的。我们提出了 BITE,这是一种后门攻击,它投毒训练数据以建立目标标签和一组“触发词”之间的强相关性。这些触发词通过自然单词级的扰动迭代地识别和注入到目标标签实例中。中毒的训练数据指示受害模型在包含触发词的输入上预测目标标签,形成后门。

Hadoop+大数据的学习资料+实际项目+hadoop源码(中英双语)_hadoop大数据平台构建与应用 米洪 案例源码-程序员宅基地

文章浏览阅读703次,点赞2次,收藏3次。链接:https://pan.baidu.com/s/12l62pcm1ix0UgwKLb576aQ提取码:dcde喜欢点个赞_hadoop大数据平台构建与应用 米洪 案例源码

Go协程的底层原理(图文详解)

Go程序开发进阶保姆级教程,结合源码对Go协程的底层原理进行图文详解(为什么要有协程、协程的本质、协程是如何执行的、G-M-P调度模型、如何实现协程的并发、协程的抢占式调度)

aes解密流程图_(转)AES 加密算法的原理详解-程序员宅基地

文章浏览阅读1.9k次。(转)AES 加密算法的原理详解原文链接如下:AES简介高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:下面简单介绍下各个部分的作用与意义:明文P没有经过加密的数据。密钥K用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密..._aes cbc 原理图

Android如何使用XML自定义属性

在res/values文件下定义一个attrs.xml文件,代码如下:在布局中使用,示例代码如下:

Java OCR tesseract 图像智能字符识别技术 Java代码实现_tesocr jave-程序员宅基地

文章浏览阅读10w+次,点赞173次,收藏149次。接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子。拿代码扫描上面的图片,然后输出结果。主要思想就是利用Java调用系统任务。下面是核心代码:package com.zhy.test;import java.io.BufferedReader;import_tesocr jave

随便推点

深入解析Spring Boot中的JWT令牌校验:安全身份验证与授权实践

JWT是一种基于JSON的开放标准(RFC 7519),用于在用户和服务器之间安全地传输信息。它由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。头部通常包含令牌的类型(JWT)和使用的加密算法,载荷包含要传输的信息(如用户ID、角色等),签名用于验证令牌的真实性。通过本文的介绍,我们深入了解了Spring Boot中JWT令牌校验的实现方法及其相关的技术细节。JWT令牌是一种安全传输信息的开放标准,通过在用户和服务器之间传递被声明的对象来安全地传输信息。

封装umi-request时通过 AbortController 配置取消请求

二、封装调用 request 和 cancelRequest 的 callApi 与 cancelApi。四、在合适的地方取消该请求,注意对应上请求ID requestId。api/index.ts中存放的callApi和cancelApi。页面中pages/map/index.tsx。一、在封装的request.ts中。三、调用请求并配置该请求为可取消。map.ts调用callApi。

oracle tnslistener 无法启动,Oracle监听器服务不能启动的解决方法-程序员宅基地

文章浏览阅读2.2k次。Oracle监听器服务不启动的时候可采取以下措施予以解决:一、连接主机字符串,提示没有监听器SVRMGR> connect internal/oracle@orcl;ORA-12541: TNS:no listenerSVRMGR>二、运行监听器,提示地址的协议专用组件指定不正确在开始菜单运行中键入lsnrctlLSNRCTL for 32-bit Windows: Version 9..._error oracle tns listener

javaScript | 练习:给出一个数组,用循环遍历数组找出数组中的最大值和最小值 如:给出数组 let arr = [3, 6, 4, 8, 11, 90, 1]_遍历一个数组并找出数组中的最大值 和最小值js使用for循环-程序员宅基地

文章浏览阅读365次,点赞9次,收藏6次。最后,使用 `document.write()` 方法将计算出的最小值和最大值输出到网页上,并通过 `` 标签换行,以便清晰地显示两个不同的结果。- 接着,初始化了两个变量 `min` 和 `max`,它们分别用来存储数组中的最小值和最大值。初始值都设为数组的第一个元素 `arr[0]`。` 结构来分别比较当前遍历到的元素是否为数组中的最小值和最大值,并据此更新 `min` 和 `max` 变量。- 首先,使用 `new Array()` 创建了一个新的数组 `arr` 并初始化了其中的元素。_遍历一个数组并找出数组中的最大值 和最小值js使用for循环

react的事件机制(合成事件)_1. react 事件机制-程序员宅基地

文章浏览阅读158次。react的事件机制_1. react 事件机制

【LeetCode】(力扣) c/c++刷题-136.只出现一次的数字-程序员宅基地

文章浏览阅读50次。【代码】【LeetCode】(力扣) c/c++刷题-136.只出现一次的数字。