我想动态更新ffserver.conf以向其添加新的流源。
无论如何在ffserver中重新加载ffserver.conf而不停止运行流?
答案 0 :(得分:5)
重新加载" ffserver.conf
" ffserver不支持配置文件。它看起来没有重启代码。
有ffserver的来源:ffmpeg/ffserver.c第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)用于重新启动服务器或重新读取配置(仅使用fork并使用套接字时需要SIGCHLD
和SIGPIPE
。)< / p>
答案 1 :(得分:2)
似乎可以通过ffserver配置来解决这个问题。
记住Feed已进入并且流出来了,并且您可以使用ffmpeg向服务器提供订阅源 - 您可以配置大量通用订阅源和流(可能根据SD,HD,音频等一般需求进行分组只有等等)然后根据需要启动供稿,向相关客户提供网址,然后重新声明该供稿槽&#39;饲料完成后。
这意味着您可以有效地管理在ffserver外部动态添加/删除流的所有其他方面。请参阅ffserver附带的示例(我在/etc/ffserver.conf中找到它)。这里有一个基本演示:https://www.ffmpeg.org/ffserver-all.html#How-do-I-make-it-work_003f
唯一的缺点是你的流将被描述为非描述性的HDStream1 ......等等。