首先,nginx必须编译安装RTMP的模块:nginx-rtmp-module。
然后配置文件如下:
# rtmp_server
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
recorder all {
record all manual; # 不自动启动录制,使用控制接口来启动/停止
record_unique on; # 是否添加时间戳到录制文件。否则的话同样的文件在每一次新的录制发生时将被重写。默认为 off。
record_path /tmp/rec; # 保存路径:注意目录权限,确保有写入的权限
record_suffix -%Y-%m-%d-%H_%M_%S.flv; # 设置录制文件后缀名,可以匹配 strftime 格式
record_max_size 128K; # 设置录制文件的最大值。
}
exec_play_done sudo pkill -f '^ffmpeg.+/$name\$';
}
}
}
# http_server配置
http{
server {
listen 80 default_server;
location /control {
rtmp_control all;
}
}
}
curl "http://192.168.3.208:1935/control/record/start?app=live&name=name&rec=all"
app = live ,如果application 后面的名字不叫live,这里的live 也要相应改变;
name = 流串秘钥 ,推流的流串名称(这个用ffmpeg拉流的时候会生成,好像这里不用填也可以)
rec = recorder 后面的名称
# 开始录屏
curl "http://192.168.3.208/control/record/start?app=live&name=0WTimBj2Q-bmUtUpCES1rH8jCRdU4GxIQHcmz-7r-W8*e9e721e2f3cc11ea9a40000c2936c978&rec=all"
# 停止录屏
curl "http://192.168.3.208/control/record/stop?app=live&name=0WTimBj2Q-bmUtUpCES1rH8jCRdU4GxIQHcmz-7r-W8*e9e721e2f3cc11ea9a40000c2936c978&rec=all"