exec_publish

NGINX RTMP 模块中的 exec_publish 指令允许在流发布时执行外部命令。

语法exec_publish command [args];
默认值none
上下文
参数1+

说明

exec_publish 指令在 NGINX RTMP 模块中使用,便于在每次流发布时执行指定的外部命令或脚本。该指令通过触发额外操作(例如编码、归档或调用响应流事件的自定义脚本)来增强 NGINX 的流媒体能力。提供给该指令的每个参数在发布时都会成为被执行命令的一部分,从而在处理直播流时提供灵活性。

该指令接受一个或多个参数,每个参数代表将被执行命令的一部分。参数可以包含可执行文件路径、选项和执行所需的参数。当用户开始发布流时,NGINX 会调用指定的命令,并传递与流相关的上下文信息,例如流名和会话标识符。此交互以实时方式发生,允许对发布事件立即作出反应。

重要的是要管理好权限,确保 NGINX 用户对指定命令具有适当的执行权限,以防止未授权访问或执行失败。此外,被执行的命令可能会影响流媒体服务器的整体性能和稳定性,应该在生产环境中进行良好优化。

配置示例

application myapp {
    live on;
    exec_publish /usr/local/bin/myscript.sh $name $args;
}

确保 NGINX 用户有权限执行指定的命令。

命令中的错误路径或参数可能导致失败且没有提供有用的错误信息。

运行耗资源的命令会影响性能;优先使用轻量级脚本。

← 返回所有指令