SRS(簡單實時視頻服務(wù)) 筆記(3)- 配置文件和Http回調(diào)

0.背景

SRS 的配置文件是 srs.conf,它位于 conf 文件夾下。配置文件描述了SRS 的配置和開啟功能的情況。

1.開發(fā)階段時修改配置文件

在開發(fā)過程中,想嘗試修改配置文件來啟動SRS怎么辦呢?可選的一個方式是 使用docker 的 -v 參數(shù)指定一個映射卷來做。

思路
在 docker run 時,將本機的文件夾映射為 容器的一個 卷。
注意:
--name : 為容器指定一個名稱;
-v: 綁定一個卷

實現(xiàn)步驟:

  • 1、先啟動一個容器,啟動后,容器內(nèi)就會有 conf 文件夾,這里存放了配置文件。
  • 2、 將配置文件拷貝到本地計算機(從容器里拷貝到本機)
  • 3、移動原來的容器。通過 掛載卷 的方式重新啟動容器。

1.1 先啟動一個容器

標準啟動
安裝并啟動 srs

docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
ossrs/srs:3

啟動后,就會生成一個docker容器,這時,我們可以把 配置文件從docker容器取出來。

1.2、復(fù)制配置文件

**把容器中的配置文件復(fù)制出來**

docker cp -a ossrs/srs:3:/usr/local/srs/conf ~/Downloads/srs/conf

# 把容器中的數(shù)據(jù)文件復(fù)制出來
docker cp -a srs:/usr/local/srs/objs ~/Downloads/srs/objs

# 刪除 srs 容器
docker rm -f srs

1.3、重新啟動 SRS

docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
-v ~/Downloads/srs/conf/:/usr/local/srs/conf/ \
-v ~/Downloads/srs/objs/:/usr/local/srs/objs/ \
ossrs/srs:3

這時,就是使用本地的 ~/Downloads/srs/conf 文件夾下的配置文件映射卷 來啟動了。

注意:
--name : 為容器指定一個名稱;
-v: 綁定一個卷

1.4 查看

可以進入 SRS控制臺,打開網(wǎng)址 http://localhost:8080/ 查看。

2. HTTP回調(diào)

HTTPCallback: SRS不支持服務(wù)器腳本(參考:服務(wù)器端腳本),服務(wù)器端定制有一個重要的替代功能,就是HTTP回調(diào)。譬如當客戶端連接到SRS時,回調(diào)指定的http地址,這樣可以實現(xiàn)驗證功能。

修改配置文件以開啟回調(diào)

    http_hooks {
       enabled         on;
       # when client connect to vhost/app, call the hook,
       on_connect      http://host.docker.internal:8085/api/v1/clients;
       on_close        http://host.docker.internal:8085/api/v1/clients;
       on_publish      http://host.docker.internal:8085/api/v1/streams;
       on_unpublish    http://host.docker.internal:8085/api/v1/streams;
       on_play         http://host.docker.internal:8085/api/v1/sessions;
       on_stop         http://host.docker.internal:8085/api/v1/sessions;
       on_dvr          http://host.docker.internal:8085/api/v1/dvrs;
       on_hls          http://host.docker.internal:8085/api/v1/hls;
       on_hls_notify   http://host.docker.internal:8085/api/v1/hls/[app]/[stream]/[ts_url][param];
   }
  • 事件:發(fā)生該事件時,即回調(diào)指定的HTTP地址。
    HTTP地址:可以支持多個,以空格分隔,SRS會依次回調(diào)這些接口。
  • 數(shù)據(jù):SRS將數(shù)據(jù)POST到HTTP接口。
  • 返回值:SRS要求HTTP服務(wù)器返回HTTP200并且response內(nèi)容為整數(shù)錯誤碼(0表示成功),其他錯誤碼會斷開客戶端連接。

參考文檔:https://gitee.com/winlinvip/srs.oschina/wikis/v3_CN_HTTPCallback

我的代碼示例:https://github.com/vir56k/demo/tree/master/video_srs/callback_server

3.參考

https://www.runoob.com/docker/docker-cp-command.html
https://blog.csdn.net/u011374856/article/details/107332309/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容