SRS(简单实时视频服务)|SRS(简单实时视频服务) 笔记(1)- 体验
0.背景
SRS是一个简单高效的实时视频服务器,支持RTMP/,等多种格式。工作用用到 SRS 服务,本文是我在学习过程中的学习笔记。
1.知识
要向开始搭建流媒体服务,基本分三个步骤:
- 1、启动流媒体服务(即SRS)
- 2、启动推流,即 流媒体视频,影音资料的来源
- 3、播放流媒体,即 用户端,通过 播放器或者 浏览器看视频。
答:视频的输入 和分发。即一手接收视频流,一手分发视频流到 客户端。再由此引申出,视频的传输和解码。
2. 示例 (1)启动 SRS
docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs: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)查看播放的视频 可以通过两种方式播放:
- 1)、客户端方式,使用VLC播放器,URL地址是 rtmp开头的方式,
- 2)、浏览器里播放,FLV 格式的影片。
VLC 是一款开源的流媒体播放器,可以从网上下载到。打开 VLC ,输入下面的流地址播放即可
rtmp://localhost/live/livestream
也可以在浏览器里播放
SRS 为 Flv格式的播放提供了支持。网址格式:http://localhost:8080/live/livestream.flv
比如我用react写的前端demo,,它使用了 Flv.js 播放器,能够播放 flv的 的媒体流。代码示例:
import React, { PureComponent } from 'react';
import Reflv from '@/Reflv/index';
export class MyDemo extends PureComponent {constructor(props) {
super(props);
this.state = {
"Video_URL": 'http://localhost:8080/live/livestream.flv'
}
}componentDidMount() {
}render() {
return (
)
}
}
3. 使用 OBS软件 来推流 上一章节示例了文件的方式推流,这里示例下 OBS 软件的方式。首先你要一个 OBS 软件。
【SRS(简单实时视频服务)|SRS(简单实时视频服务) 笔记(1)- 体验】OBS推流软件: 免费和开源软件的视频录制和直播流媒体。下载地址:https://obsproject.com/
步骤:
- 1、启动SRS服务:见上文
- 2、OBS推流
文章图片
image.png
(2) 点击设置,配置一个 推流地址。
文章图片
image.png
(3) 点击“开始推流”按钮,开始推流。
image.png
- 3、播放流:加上文
https://github.com/vir56k/demo/tree/master/video_srs/web
SRS简介:
SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。
- 主站地址:http://ossrs.net/releases/
- WIKI 文档: https://gitee.com/winlinvip/srs.oschina/wikis/v3_CN_Home
- 仓库地址: https://github.com/ossrs/srs/tree/3.0release#usage
推荐阅读
- 科学养胃,别被忽悠,其实真的很简单
- opencv|opencv C++模板匹配的简单实现
- 松软可口易消化,无需烤箱超简单,新手麻麻也能轻松成功~
- 简单心理2019春A期+32+张荣
- 《算法》-图[有向图]
- android防止连续点击的简单实现(kotlin)
- 机器学习一些简单笔记
- Android超简单实现沉浸式状态栏
- v-charts简单使用
- 校园非自愿来访者辅导问句学习