exec_play

NGINX RTMP 模块中的 exec_play 指令允许在流播放时执行外部程序。

语法exec_play command ...;
默认值none
上下文
参数1+

说明

exec_play 指令旨在在 NGINX 的 RTMP 模块中使用,在每次媒体流播放时执行指定的外部命令。该功能对于集成额外功能特别有用,例如记录日志、执行分析、运行分析脚本,或在 STREAM_PLAY 事件发生时触发其它自动化任务。该指令接受一个或多个参数,通常包括要执行的命令及这些命令所需的任何必要参数。\n\n定义后,exec_play 会在每次用户播放流时调用指定命令。它以非阻塞方式运行,允许 NGINX 在外部程序运行时同时处理其他请求。外部命令应为幂等或能够优雅地处理多次调用,因为在一次流播放会话中可能会多次触发它们。此外,应谨慎管理这些命令的输出和返回码以防止出现意外行为。\n\n一种常见用例是在流被访问时发送通知或更新中央监控系统。这是一个强大的指令,通过外部自动化扩展其功能,可以显著增强流媒体服务器的可用性。

配置示例

application live {
    live on;
    exec_play /usr/local/bin/my_script.sh $name;
}

确保外部脚本可执行并具有正确的权限设置。

注意外部程序的资源消耗,因为它可能影响服务器性能。

妥善处理命令输出或错误,以避免在流式播放期间出现意外行为。

← 返回所有指令