3

我想动态更新 ffserver.conf 以向其中添加新的流源。

无论如何在 ffserver 中重新加载 ffserver.conf 而不停止流运行?

4

2 回答 2

5

ffserver.confffserver 不支持重新加载“ ”配置文件。正如我所见,它没有重启代码。

ffserver的源码有:ffmpeg/ffserver.c line 4020:

4020 static int parse_ffconfig(const char *filename)

并且配置解析器只被调用一次——来自 main():

4710 int main(int argc, char **argv)
4711 {
...
4735     if ((ret = parse_ffconfig(config_filename)) < 0) { ...

没有init用于重新启动服务器或重新读取配置的特殊信号处理程序(如 HUP in )(仅需要使用 fork 和使用套接字)SIGCHLDSIGPIPE

于 2014-04-27T03:25:00.897 回答
2

通过 ffserver 配置似乎可以解决这个问题。

记住提要进来和流出去,并且您可以使用 ffmpeg 向服务器提供提要 - 您可以配置大量通用提要和流(可能根据一般需求进行分组,例如标清、高清、仅音频等)然后根据需要启动提要,向相关客户端提供 URL,然后在提要完成后重新声明该“提要槽”。

这意味着您可以有效地管理从外部动态添加/删除流到 ffserver 的所有其他方面。请参阅 ffserver 附带的示例(我在 /etc/ffserver.conf 中找到了它)。这里有一个基本的演示:https ://www.ffmpeg.org/ffserver-all.html#How-do-I-make-it-work_003f

唯一的缺点是您的流将被命名为非描述性的,如 HDStream1 ...等。

于 2017-04-13T01:25:11.880 回答