SRS(简单实时视频服务) 笔记(3)- 配置文件和Http回调
0.背景
SRS 的配置文件是 srs.conf,它位于 conf 文件夹下。配置文件描述了SRS 的配置和开启功能的情况。
1.开发阶段时修改配置文件
在开发过程中,想尝试修改配置文件来启动SRS怎么办呢?可选的一个方式是 使用docker 的 -v 参数指定一个映射卷来做。
思路
在 docker run 时,将本机的文件夹映射为 容器的一个 卷。
注意:
--name : 为容器指定一个名称;
-v: 绑定一个卷
实现步骤:
- 1、先启动一个容器,启动后,容器内就会有 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、复制配置文件
**把容器中的配置文件复制出来**docker cp -a ossrs/srs:3:/usr/local/srs/conf ~/Downloads/srs/conf# 把容器中的数据文件复制出来
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控制台,打开网址 http://localhost:8080/ 查看。
2. HTTP回调
HTTPCallback: SRS不支持服务器脚本,服务器端定制有一个重要的替代功能,就是HTTP回调。譬如当客户端连接到SRS时,回调指定的http地址,这样可以实现验证功能。
修改配置文件以开启回调
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];}
- 事件:发生该事件时,即回调指定的HTTP地址。
HTTP地址:可以支持多个,以空格分隔,SRS会依次回调这些接口。 - 数据:SRS将数据POST到HTTP接口。
- 返回值:SRS要求HTTP服务器返回HTTP200并且response内容为整数错误码(0表示成功),其他错误码会断开客户端连接。
SRS(简单实时视频服务) 笔记(3)- 配置文件和Http回调相关推荐
- SRS(简单实时视频服务) 笔记(5)- 视频录制
1. 背景 在SRS使用中实现视频录制功能. 2. 思路 方案1:实时方式 拍照:操作者点击拍照按钮,触发网络请求,后端收到请求后启动一个ffmpeg 命令行进行截图. 录像:操作者点击开始录像按钮, ...
- ROS学习笔记十:用C++编写一个简单的服务和客户端
ROS学习笔记十:用C++编写一个简单的服务和客户端 这一节主要介绍如何使用C++编写一个简单的服务和客户端节点. 编写服务节点 由于在前面的练习中,已经向beginner_tutorials软件包中 ...
- 简单的服务调用框架实现
2019独角兽企业重金招聘Python工程师标准>>> 断断续续用了几天时间,写了一个简单的粗糙的类似DUBBO的服务调用框架. 我给框架起了个很山寨的名字,暂且命名为:pangu, ...
- 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关
微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...
- Linux服务笔记之二:SSH远程登录
上次,写了用传统的telnet方法来远程管理服务器.今天,写下如何用SSH(Secure SHELL)协议来远程管理服务器.优点:因为SSH基于成熟的公钥加密体系,所以传输的数据会进行加密,保证数据在 ...
- 构建自己的简单微服务架构(开源)
构建自己的简单微服务架构(开源) 原文:构建自己的简单微服务架构(开源) 前言 本篇仅作引导,内容较多,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读.如下图所示: 文档官网地址:https: ...
- 《Java Web开发入门很简单》学习笔记
<Java Web开发入门很简单>学习笔记 1123 第1章 了解Java Web开发领域 Java Web主要涉及技术包括:HTML.JavaScript.CSS.JSP.Servlet ...
- 阿里巴巴P8架构师传授的这份在GitHub标星75K的微服务笔记为何有如此大的魅力?
今年的疫情让各位码友们的处境都十分困难,但是我相信大家都能迅速调整好心态,在空闲之余抽出一点点时间用来学习,学到就是赚到,坚持学习技术知识也是对自己百益而无一害."金九银十"也在一 ...
- gen_server tasting 之超简单名称服务(续)
前几天写了篇<gen_server tasting 之超简单名称服务 >东西,亲身体验了 erlang otp 的强悍威力.不过正所谓"超简单",那个版本还是很初级的, ...
最新文章
- 中国芯片将靠此超车!RISC-V架构神在哪全解构【附下载】
- SDNU 1209.磊磊的随机数
- 高校网站群建设方案简介
- java 创建string_Java 如何创建一个String
- java ee13_一口气了解多线程及其Java实现
- [vue] vue怎么缓存当前的组件?缓存后怎么更新?
- 【Linux】【Commands】文本查看类
- 【离散数学】集合论 第三章 集合与关系(8) 关系的闭包运算
- 如何用python刷屏_利用python实现在微信群刷屏的方法
- 如何裁剪动态图片?教你三步快速裁剪GIF
- 微信小程序打开外部链接
- 百度SEO全自动百度挂机循环提交工具(MIP 主动推送)泛目录专用
- 如何区分共射极放大电路与共基极放大电路?
- 2021抖音电商知识产权保护报告
- 饿了么联盟在哪里申请物料
- 热敏电阻和压敏电阻的区别与特性
- Redis INCR命令
- awk(4)-awk介绍
- c语言清除文件缓存区,C语言之清空缓存区
- 星速配资:新能源获QFII机构青睐 隆基股份成第一重仓股