Nginx record录制配置
Posted 佳佳鸽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx record录制配置相关的知识,希望对你有一定的参考价值。
**
nginx record录制参数简述:
**
record
语法:record [off|all|audio|video|keyframes|manual]*
描述:切换录制模式。流可以被记录到 flv 文件。本指令指定应该被记录的:
off - 什么也不录制
all - 音频和视频(所有)
audio - 音频
video - 视频
keyframes - 只录制关键视频帧
manual - 用不自动启动录制,使用控制接口来启动/停止
在单个记录指令中可以有任何兼容的组合键。
record_path
语法:record_path path
描述:指定录制的 flv 文件存放目录。
record_suffix
语法:record_suffix value
描述:设置录制文件后缀名。默认为 ‘.flv’。
录制后缀可以匹配 strftime 格式。以下指令
record_suffix -%d-%b-%y-%T.flv
将会产生形如 mystream-24-Apr-13-18:23:38.flv 的文件。所有支持 strftime 格式的选项可以在 strftime man page 里进行查找。
record_unique
语法:record_unique on|off
描述:是否添加时间戳到录制文件。否则的话同样的文件在每一次新的录制发生时将被重写。默认为 off。
record_append
语法:record_append on|off
描述:切换文件附加模式。当这一指令为开启是,录制时将把新数据附加到老文件,如果老文件丢失的话将重新创建一个。文件中的老数据和新数据没有时间差。默认为 off。
record_lock
语法:record_lock on|off
描述:当这一指令开启时,当前录制文件将被 fcntl 调用锁定。那样可以在其他地方来核实哪个文件正在进行录制。默认为 off。
在 FreeBSD 上你可以使用 flock 工具检查。在 Linux 上 flock 和 fcntl 无关,因此你需要去写一个简单的脚本来检查文件的锁定状态。
record_max_size
语法:record_max_size size
描述:设置录制文件的最大值。
record_max_frames
语法:record_max_frames nframes
描述:设置每个录制文件的视频帧的最大数量。
record_interval
语法:record_interval time
描述:在这个指令指定数量的(毫秒)秒之后重启录制。默认为 off。设置为 0 的话意味着录制中无延迟。如果 record_unique 为 off 的话所有记录片段会被写到同一个文件。否则(文件名)将附以时间戳以区分不同文件(给定的 record_interval 要大于 1 秒)。
recorder
语法:recorder name …
描述:创建录制块。可以在单个 application 中创建多个记录。上文提到的所有录制相关的指令都可以在 recorder 块中进行定义。继承高层次中的所有设置。
record_notify
语法:record_notify on|off
描述:切换当定义录制启动或停止文件时发送 NetStream.Record.Start 和 NetStream.Record.Stop 状态信息(onStatus)到发布者。状态描述字段保存录制的名字(默认录制的话为空)。默认为 off。
配置示例
user root;
worker_processes 1;
events
worker_connections 1024;
rtmp
server
application camera
live on;
recorder all
record all; //录制模式
record_suffix -%Y-%m-%d-%H_%M_%S.flv; //命名及保存格式
record_path /tmp; //保存路径
access_log off;
以上是关于Nginx record录制配置的主要内容,如果未能解决你的问题,请参考以下文章
ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制