SRS 的配置文件是 srs.conf,它位于 conf 文件夹下。配置文件描述了SRS 的配置和开启功能的情况。
在开发过程中,想尝试修改配置文件来启动SRS怎么办呢?可选的一个方式是 使用docker 的 -v 参数指定一个映射卷来做。
思路 在 docker run 时,将本机的文件夹映射为 容器的一个 卷。 注意: --name : 为容器指定一个名称; -v: 绑定一个卷
实现步骤:
标准启动 安装并启动 srs
docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
ossrs/srs:3
启动后,就会生成一个docker容器,这时,我们可以把 配置文件从docker容器取出来。
**把容器中的配置文件复制出来**
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
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: 绑定一个卷
可以进入 SRS控制台,打开网址 http://localhost:8080/ 查看。
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];
}
参考文档:https://gitee.com/winlinvip/srs.oschina/wikis/v3_CN_HTTPCallback
我的代码示例:https://github.com/vir56k/demo/tree/master/video_srs/callback_server
https://www.runoob.com/docker/docker-cp-command.html https://blog.csdn.net/u011374856/article/details/107332309/