SRS简单实时视频服务体验

1.背景

SRS是一个简单高效的实时视频服务器,支持RTMP/,等多种格式。工作用用到 SRS 服务,本文是我在学习过程中的学习笔记。

2.知识


要向开始搭建流媒体服务,基本分三个步骤:

  • 启动流媒体服务(即SRS)

  • 启动推流,即 流媒体视频,影音资料的来源

  • 播放流媒体,即 用户端,通过 播放器或者 浏览器看视频。

由此理解到 “SRS 流媒体服务到底做了什么事?” 答:视频的输入 和分发。即一手接收视频流,一手分发视频流到 客户端。再由此引申出,视频的传输和解码。

3. 示例

3.1启动 SRS

docker run --rm--network=host ossrs/srs:encoder ffmpeg -re-i ./doc/source.200kbps.768x320.flv \
  -c copy -f flv -y rtmp://localhost/live/livestream

3.2开始推流


下面的示例是开启了一个 ffmpeg 的推流示例,推流后的网址是 rtmp://localhost/live/livestream

docker run --rm--network=host ossrs/srs:encoder ffmpeg -re-i ./doc/source.200kbps.768x320.flv \
  -c copy -f flv -y rtmp://localhost/live/livestream

当然,也可以使用 OBS软件 来推流,本文后面描述。

3.3查看播放的视频


可以通过两种方式播放:

  • 1)、客户端方式,使用VLC播放器,URL地址是 rtmp开头的方式,

  • 2)、浏览器里播放,FLV 格式的影片。

VLC客户端播放

VLC 是一款开源的流媒体播放器,可以从网上下载到。

打开 VLC ,输入下面的流地址播放即可

rtmp://localhost/live/livestream

也可以在浏览器里播放 SRS 为 Flv格式的播放提供了支持。网址格式:http://localhost:8080/live/livestream.flv

比如我用react写的前端demo,,它使用了 Flv.js 播放器,能够播放 flv的 的媒体流。代码示例:

importReact, { PureComponent } from'react';
importReflvfrom'@/Reflv/index';
​
exportclassMyDemoextendsPureComponent {
​
  constructor(props) {
    super(props);
    this.state= {
        "Video_URL": 'http://localhost:8080/live/livestream.flv'
      }
  }
​
  componentDidMount() {
  }
​
  render() {
    return (
      <Reflvurl={this.state.Video_URL} type="flv"/>
    )
  }
}

4. 使用 OBS软件 来推流


上一章节示例了文件的方式推流,这里示例下 OBS 软件的方式。首先你要一个 OBS 软件。

OBS推流软件: 免费和开源软件的视频录制和直播流媒体。

下载地址:obsproject.com/

步骤:

  • 1、启动SRS服务:见上文

  • 2、OBS推流

4.1添加一个视频采集设备

4.2点击设置,配置一个 推流地址。
4.3点击“开始推流”按钮,开始推流。

  • 播放流:加上文

5.一些资料


我的Demo地址:github.com/vir56k/demo…

SRS简介:

SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。

6.参考


gitee.com/winlinvip/s…

作者:张云飞Vir链接: https://juejin.cn/post/6976958026989174797

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值