这段时间与视频,直播相关的技术不可谓不热,今天我们就近距离接触下,尽早搭上这班车!

我们先看一张效果图

左边是OBS 推流端,右边是VLC播放器,稍微有延迟!

本文是基于VMware(12.5.7)+Ubuntu(16.04)搭建

一:准备:

1.VMware(12.5.7)

2.Ubuntu(16.0.4)

3.Git

4.RTMP媒体服务器(SRS)

5.推流端(OBS)

6.拉流端(VLC)

二:安装

2.1:安装VMware

2.1.1:下载VWware

VWware官网:https://www.vmware.com/cn.html

2.1.2:安装破解

比较简单,请自行百度,此处提供参考:虚拟机安装教程

2.2:安装Ununtu

2.2.1:下载

Ubuntu官网:https://www.ubuntu.com/download

2.2.2:安装

比较简单,请自行百度,此处提供参考:VMware安装Ubuntu

2.2.3:其他

Ubuntu如何设置全屏显示,搜狗输入法安装,联网等不在次节课范畴,请自行百度解决!

2.3:安装Git

2.3.1:ALT+Control+T 调出终端

2.3.2:输入git查看系统是否已经安装

2.3.3:如果未安装,执行“sudo apt-get install git”指令,安装git,出现如图提示输入“Y”

2.3.4:输入"git --version"查看当前版本

2.4:安装SRS

srs Github地址为:https://github.com/ossrs/srs,里面有使用指导,按照安装步骤操作即可

2.4.1:新建本地SRS存放文件夹,文件名live

2.4.2:打开终端,进入live文件夹

2.4.3:执行"git clone https://github.com/ossrs/srs &&cd srs/trunk"指令,时间较长8分钟左右

2.4.4:执行"./configure && make"编译SRS

2.4.5:执行"./etc/init.d/srs start"或“ ./objs/srs -c conf/srs.conf”启动服务
其他指令如:
停止 ./etc/init.d/srs stop
重启 ./etc/init.d/srs restart

2.5:安装OBS

2.5.1:安装OBS首先安装FFMPEG

2.5.1.1:添加源:sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

2.5.1.2:更新源:sudo apt-get update


2.5.1.3:安装FFPMEG:sudo apt-get install ffmpeg


2.5.2:安装OBS

2.5.2.1:添加源:sudo add-apt-repository ppa:obsproject/obs-studio


2.5.2.2:更新源:sudo apt-get update


2.5.2.3:安装:sudo apt-get install obs-studio

2.5.3:安装成功之后重启才能看到,稍后上传图片

2.6:安装VLC

2.6.1:VLC官网地址:http://www.videolan.org/

2.6.2:下载对应版本的VLC,此处选择Linux

2.6.3:点击下载

2.6.4:开始安装

2.6.5 重启查看VLC

三:设置

3.1:OBS 推流端配置

3.1.1:打开终端输入"ifconfig -a"查看本机IP地址

3.1.2:打开OBS在来源中选择一种,本次选择幻灯片

3.1.3:点击设置,打开设置选项卡,流选项中类型选择自定义流媒体服务器,url为

rtmp://你的ip/你喜欢的url

3.1.4:在设置选项卡中,设置推送流的帧率等

3.1.5:检查无误后,点击开始推流(请确保srs已开启)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

四:测试

VLC测试推流结果

4.1:打开VLC,选择打开媒体->网络,在网络协议中输入推流地址

4.2:查看显示结果(左侧为推流,右侧为VLC显示,有延迟)

参考:

轻松入门Android直播相关技术 从0搭建直播系统

Ubuntu安装OBS

原文:https://blog.csdn.net/calvin_zhou/article/details/78613422

基于SRS+OBS搭建直播系统的更多相关文章

  1. VLC-DSS搭建直播系统中链路断开影响测试

    VLC-DSS搭建直播系统中链路断开影响测试 系统环境搭建如图所示.计算机77上运行VLC从摄像机51上取流,推送给一级DSS服务器30:二级DSS服务器78从一级DSS服务器30上取流转发.(其配置 ...

  2. 转: 基于nginx的hls直播系统

    转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的h ...

  3. 在Ubuntu下使用nginx-rtmp-module搭建直播系统

    直播系统最简单地包括推流和拉流,在这里先使用nginx-rtmp-module作为流媒体服务器. 流媒体服务器搭建 1. nginx-rtmp-module下载和安装 源码地址:https://git ...

  4. rtmp搭建直播系统

    开发环境 Ubuntu 14.04 server nginx-1.8.1 nginx-rtmp-module nginx的服务器的搭建 安装nginx的依赖库 sudo apt-get update ...

  5. 搭建HTTP Live Streaming直播系统

    最近,需要将苹果的HTTP Live Streaming系统搭建起来.完全没有头绪,故第一步就是学习. 一.学习资料 官网资料 1. http://developer.apple.com/resour ...

  6. 基于LNMP架构搭建wordpress博客之安装架构说明

    架构情况 架构情况:基于LNMP架构搭建wordpress系统 软件包版本说明: 系统要求 :  CentOS-6.9-x86_64-bin-DVD1.iso PHP版本  :  php-7.2.29 ...

  7. 使用ffmpeg搭建HLS直播系统

    [时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, ffmpeg,live,直播,点播, nginx, ssegment] 0 引言 本文作为HLS综述的后续文章. ...

  8. windows平台简易直播系统搭建

    最近做直播系统的朋友很多,正好前端时间也在做这一块,写片文章分享下开发心得,以为后用. 直播系统我将它分为前堆推流,后台服务,客户端播放三大部分.前端推流基于ffmpeg,后台服务 使用crtmp服务 ...

  9. 基于CentOS搭建基于 ZIPKIN 的数据追踪系统

    系统要求:CentOS 7.2 64 位操作系统 配置 Java 环境 安装 JDK Zipkin 使用 Java8 -openjdk* -y 安装完成后,查看是否安装成功: java -versio ...

随机推荐

  1. Error occurred during initialization of VM Could not reserve enough space for object heap

    Error occurred during initialization of VM Could not reserve enough space for object heap Java虚拟机(JV ...

  2. [java,2019-01-25] 图片和二进制互转

    import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOu ...

  3. DLC 数制与数制的转换

    进位计数值:用进位的方法进行计数 常用数值有十进制.二进制.八进制.十六进制等. 进位计数制把包括基数与权两个基本问题.

  4. PG数据基本命令——连接(笔记)

    在PostgreSQL中,有以下类型的连接: 内连接(INNER JOIN) 左外连接(LEFT OUTER JOIN) 右外连接(RIGHT OUTER JOIN) 全连接(FULL OUTER J ...

  5. json jmespath的使用

    在接口测试的过程中,我们经常会接触到json格式respones,我们会经常去做取JSON中某个值的操作,可以用jmespath分析.转换和选择性的提取JSON数据进行操作,功能非常强大,易读. 一. ...

  6. leetcode top 100 题目汇总

    首先表达我对leetcode网站的感谢,与高校的OJ系统相比,leetcode上面的题目更贴近工作的需要,而且支持的语言广泛.对于一些比较困难的题目,可以从讨论区中学习别人的思路,这一点很方便. 经过 ...

  7. 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值

    1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name)  # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...

  8. 记一次laravel-jwt修改黑名单所用redis数据库

    场景是这样的,我用tymon/jwt包做鉴权.jwt是自编码token,过期前想要强制失效只能将其加入黑名单中,黑名单一般用缓存存储. 但会有一个问题,若某种意外情况不小心执行了php aritsan ...

  9. python拼接字符串方法汇总

    python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...

  10. SQLServer与MySQL约束/索引命名的一些差异总结

    约束是数据库完整性的保证,主要分为:主键/外键/唯一键/默认值/check等类别,约束是一个逻辑概念,表示数据的某些特性(不能为空,唯一,必须满足某些条件等等),索引是一个逻辑与物理概念的结合,逻辑上 ...