exec_publish_done
exec_publish_done 指令允许在 NGINX RTMP 模块成功发布流之后执行指定的命令。
NGINX RTMP module
语法exec_publish_done command;
默认值none
上下文
参数1+
说明
exec_publish_done 指令在 NGINX RTMP 模块中用于在成功发布流结束后执行指定的外部命令。此功能特别适用于触发外部进程,例如用于记录、分析或其他与流工作流程相关的发布后任务。该命令可以是脚本或可执行文件,并可将流的上下文作为参数传入,从而在发布后实现动态交互。
exec_publish_done 指令的参数可以包括需要运行的脚本路径以及应传递给这些脚本的任何参数。这对需要在流发布完成后自动执行操作的实时流场景尤其有用。该指令可以被多次指定,允许在发布后排队执行多个命令,从而在处理各种用例时提供灵活性。
在调用时,该指令直接与事件循环交互以异步执行命令,确保主要的流媒体进程不会被阻塞。必须谨慎处理外部命令以避免性能瓶颈。配置还应确保适当的资源管理,以防止在高流量流事件期间发生内存泄漏或过度的资源使用。
配置示例
application live {
live on;
exec_publish_done /usr/local/bin/post_publish_script.sh $name;
}⚠
确保指定的命令在服务器上可用并具有可执行权限。
⚠
避免执行长时间运行的命令,以防阻塞事件循环。
⚠
在向外部脚本传递参数时要小心;如有需要,确保对参数进行适当的转义。