0.背景
SRS是一個簡單高效的實時視頻服務(wù)器开财,支持RTMP/禀酱,等多種格式。工作用用到 SRS 服務(wù)酸茴,本文是我在學(xué)習(xí)過程中的學(xué)習(xí)筆記烫映。
1.知識
要向開始搭建流媒體服務(wù)沼本,基本分三個步驟:
- 1、啟動流媒體服務(wù)(即SRS)
- 2锭沟、啟動推流抽兆,即 流媒體視頻,影音資料的來源
- 3族淮、播放流媒體辫红,即 用戶端凭涂,通過 播放器或者 瀏覽器看視頻。
由此理解到 “SRS 流媒體服務(wù)到底做了什么事贴妻?”
答:視頻的輸入 和分發(fā)切油。即一手接收視頻流,一手分發(fā)視頻流到 客戶端名惩。再由此引申出澎胡,視頻的傳輸和解碼。
2. 示例
(1)啟動 SRS
docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:3
(2)開始推流
下面的示例是開啟了一個 ffmpeg 的推流示例娩鹉,推流后的網(wǎng)址是 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
當(dāng)然攻谁,也可以使用 OBS軟件 來推流,本文后面描述弯予。
(3)查看播放的視頻
可以通過兩種方式播放:
- 1)戚宦、客戶端方式,使用VLC播放器锈嫩,URL地址是 rtmp開頭的方式受楼,
- 2)、瀏覽器里播放祠挫,F(xiàn)LV 格式的影片。
VLC客戶端播放
VLC 是一款開源的流媒體播放器悼沿,可以從網(wǎng)上下載到等舔。
打開 VLC ,輸入下面的流地址播放即可
rtmp://localhost/live/livestream
也可以在瀏覽器里播放
SRS 為 Flv格式的播放提供了支持糟趾。網(wǎng)址格式: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 (
<Reflv url={this.state.Video_URL} type="flv"/>
)
}
}
3. 使用 OBS軟件 來推流
上一章節(jié)示例了文件的方式推流,這里示例下 OBS 軟件的方式非驮。首先你要一個 OBS 軟件交汤。
OBS推流軟件: 免費(fèi)和開源軟件的視頻錄制和直播流媒體。
步驟:
- 1劫笙、啟動SRS服務(wù):見上文
- 2芙扎、OBS推流
(1) 添加一個視頻采集設(shè)備
(2) 點(diǎn)擊設(shè)置,配置一個 推流地址填大。
(3) 點(diǎn)擊“開始推流”按鈕戒洼,開始推流。
- 3允华、播放流:加上文
4.一些資料
我的Demo地址:
https://github.com/vir56k/demo/tree/master/video_srs/web
SRS簡介:
SRS是一個簡單高效的實時視頻服務(wù)器圈浇,支持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