零基础在ubuntu上搭建rtmp服务器-srs

news2024/11/18 3:33:54

搭建服务器

搭建 SRS(Simple-RTMP-Server)服务器需要一些步骤,以下是一个简单的步骤指南。请注意,SRS 的配置可能会有所不同,具体取决于你的需求和环境。在开始之前,请确保你的 Ubuntu 系统已经连接到互联网。

  1. **更新系统:**首先,确保你的系统是最新的:

    sudo apt update
    sudo apt upgrade
  2. **安装必要的依赖:**安装编译工具和其他必要的依赖项:

    sudo apt install git build-essential cmake automake pkg-config
  3. **克隆 SRS 代码库:**使用 git 克隆 SRS 代码库:

    git clone https://github.com/ossrs/srs.git
  4. 进入 SRS 目录:

    cd srs
  5. 构建并安装 SRS:

    ./configure
    make
    sudo make install
  6. 启动 SRS 服务器:

    sudo /usr/local/srs/sbin/srs -c /usr/local/srs/conf/srs.conf
       # 查看日志
       sudo tail -n 30 -f /usr/local/srs/sbin/srs.log

    这会启动 SRS 服务器。你可以根据需要修改配置文件 /usr/local/srs/conf/srs.conf

  7. **测试 SRS 服务器:**使用一个支持 RTMP 协议的播放器(例如,VLC、OBS 等),连接到 SRS 服务器。播放 RTMP 流时,可以使用 SRS 默认的示例流:

    rtmp://your-server-ip:1935/live/livestream

    请将 your-server-ip 替换为你的服务器的实际 IP 地址。

  8. **配置防火墙:**如果你的服务器启用了防火墙,确保打开 1935 端口(RTMP 默认端口):

    sudo ufw allow 1935

    如果你使用其他防火墙工具,请相应地调整。

这是一个基本的 SRS 服务器搭建过程。请注意,这只是一个简单的示例配置,你可能需要根据实际需求修改 SRS 配置文件。此外,确保你了解服务器和网络安全性,并采取适当的安全措施。

推流

常用的rtmp推流工具obs-studio,ffmpeg,vlc
常用的rtsp推流工具obs-studio,ffmpeg,vlc,live555
我们为了简单,直接用ffmpeg实现推流拉流,ffmpeg官网下载编译好的ffmpeg工具,进入到ffmpeg目录,并启动控制台

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1:1935/live/livestream

拉流

ffplay rtmp://127.0.0.1:1935/live/livestream

 

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

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

相关文章

vue3+vite搭建cesium项目

1.创建项目 cnpm create vite 2.安装依赖 npm i cesium vite-plugin-cesium vite -D 3.在vite.config.js里进行配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import cesium from vite-plugin-cesium; export default defineConfig({plugins…

hello vtk 圆柱

VTK 可视化的流程及步骤 标题引入VTK库和初始化: 引入 VTK 库和 AutoInit 模块,以便使用 VTK 的渲染和交互功能 设置背景颜色和颜色对象: 使用 vtkNamedColors 设置背景颜色和演员颜色。 创建圆柱体源: 使用 vtkCylinderSou…

企业精益生产管理十大工具的介绍及应用

追求零库存、快速响应、企业内外部环境的和谐统一,是精益生产的核心理念。简而言之,就是消除企业一切非增值活动,以达到降本增效的目的。 企业精益生产管理十大工具包括: 价值流分析。精益生产管理以价值为核心,它有两…

外贸CRM应该这样选型

在目前严峻的外贸环境和竞争逐渐进入白热化阶段的背景下,很多外贸公司好像束手无策。因而,精益管理已成为外贸企业的新目标。CRM管理系统是解决问题、实现业绩飞越的好办法。下面,让我为您分享:外贸行业管理者必看的CRM选型指南 …

Redis主从与哨兵架构详解

目录 主从架构 主从环境搭建 主从复制流程 1. 全量复制 2. 部分复制 主从风暴 哨兵架构 概念 哨兵环境搭建 主从架构 主从环境搭建 1. 复制一份redis.conf文件, 修改下面几行配置 port 6380 pidfile /var/run/redis_6380.pid logfile "6380.log" dir /usr/…

centos7-docker安装与使用

文章目录 一、docker简介1.1docker应用场景1.2docker的优点1.2.1快速,一致地交付应用程序1.2.2响应式部署和扩展1.2.3在同一硬件上运行更多工作负载 1.2docker的架构 二、docker的安装2.1新系统的环境搭建2.1.1更换yum源 2.2安装docker与卸载2.2.1yum安装docker2.2.…

监控大屏 | 拐角OLED柔性屏:实现拐角处连惯拼接显示

监控大屏 | 拐角OLED柔性屏 产品:20块55寸OLED柔性屏 项目时间:2023年10月 项目地点:贵州 应用场景:在监控大厅三面墙都要装显示屏,利用OLED柔性屏可弯曲的特性,在两个捌角处进行拼接安装。 在2023年10…

XML Schema中的attributeFormDefault

XML Schema中的attributeFormDefault属性,用以指定元素的属性默认是否必须带有命名空间前缀。 attributeFormDefault属性可以取值qualified或unqualified,默认值是unqualified。 当取值为qualified时,表示属性必须用命名空间作为前缀&#x…

ASIWebPage数据库抓取代码示例

objective-c #import "ASIWebPageRequest.h" int main(int argc, const char * argv[]) { autoreleasepool { // 创建并设置 NSURL *代理URL [NSURL URLWithString:""]; ASIHTTPRequest *request [ASIHTTPRequest requestW…

蓝桥杯-01简介

文章目录 蓝桥杯简介参考资源蓝桥杯官网第15届大赛章程一、概况(一)大赛背景和宗旨(二)大赛特色(三)大赛项目1.Java软件开发2.C/C程序设计3.Python程序设计4.Web应用开发5.软件测试6.网络安全7.嵌入式设计与…

Mac使用nvm安装低于node16 版本卡死缓慢

在使用M1和M2的时候,采用nvm安装Node16的版本就会出现一直下载卡死,内存增大 一、解决步骤 在简介信息里面勾选 使用Rosetta打开,如图: 然后重启终端,重新使用nvm安装Node16即可成功

Elasticsearch(ES)概述

文章目录 一.什么是Elasticsearch?1.正向索引和倒排索引2.Mysql和ES的概念对比3.安装elasticsearch、kibana 二.IK分词器三.索引库操作四.文档操作五.RestClient操作索引库1.初始化RestClient2.创建索引库3.删除索引库4.判断索引库是否存在 六.RestClient操作文档1.新增文档2.…

基于springboot实现的学生宿舍管理系统

一、系统架构 前端:html | jquery | bootstrap 后端:springboot | spring-data 环境:jdk1.8 | maven | mysql 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员-首页 03. 管理员-学生管理 04. 管理员-楼宇管理 05. 管理员-宿舍管理 06.…

好用的样式动画库集合(css、js)

文章目录 前言一、Animate.css二、Anime.js三、CSShake四、Hover.css五、AniJS六、Animista七、Tachyons-animate八、Sequence.js九、Infinite十、OBNOXIOUS.CSS十一、MOTION UI十二、Keyframes.app十三、AnimXYZ十四、Whirl十五、Hamburgers十六、Vivify十七、Magic Animation…

【Vue】Linux 运行 npm run serve 报错 vue-cli-service: Permission denied

问题描述 在Linux系统上运行npm run serve命令时,控制台报错: sudo npm run serve project50.1.0 serve vue-cli-service serve sh: 1: vue-cli-service: Permission denied错误截图如下: 原因分析 该错误是由于vue-cli-service文件权限不…

Web前端开发技术:图像与多媒体文件

在现代的Web开发中,图像和多媒体文件在各种网站和应用程序中扮演着至关重要的角色。它们不仅能提供更丰富的内容,还能大大提高应用程序的吸引力和用户体验。本文将深入介绍一些关键的Web前端开发技术,这些技术将有助于开发者在处理图像和多媒…

任意多个磁盘时的kickstart配置方法

最近工作遇到一个需求:当机器中存在任意多个磁盘时,kickstart配置文件应该如何编写? 我查询了一些资料,得到的结果大多是针对特定数量的磁盘的配置(比如,2个,3个)。 那么假如因为某些…

HarmonyOS 数据持久化 Preferences 如何在页面中对数据进行读写

背景介绍 最近在了解并跟着官方文档尝试做一个鸿蒙app 小demo的过程中对在app中保存数据遇到些问题 特此记录下来 这里的数据持久化以 Preferences为例子展开 废话不多说 这里直接上节目(官方提供的文档示例:) 以Stage模型为例 1.明确preferences的类型 import data_prefer…

类 —— 友元、常/静态成员函数

类 类的大小 和结构体大小求法一致。但需注意,普通空类也会占用 1 字节大小,因为普通空类可以实例化对象。 而 抽象空类占 4 字节(32 位机中),因为抽象空类中含有虚指针(含有虚函数的非抽象空类同理&am…

云原生实战课大纲<2>

我们pod的数据挂载文件可以使用 pv-pvc的方式 1. 创建pv池 2. 在pv池中创建pv,并且设置pv的模式 3. 编写pod 写对应的pvc 申请书 就可以了这就是我们k8s中的pv和pvc 基于pv池创建pv的时候会有容量限制呢么关于配置呢,我们以前会有这种场景 比如说在dock…