nginx+rtmp 推流录制
1、环境搭建:
https://blog.csdn.net/caowenjing123/article/details/94621301
2、修改nginx.conf 配置文件
在你对应的myapp推流APP下添加record
recorder all {
record all manual;
record_suffix -%Y-%m-%d-%H_%M_%S.flv;
on_record_done http://192.168.42.189:5002/devframe-server/common/on_record_done;
# record_unique on;
record_path /usr/local/nginx/html/record;
}
record :all 表示推流的时候就开始录制
添加上manual 组合标识,下发录制指令start后才开始录制
on_record_done :录制完成事件,即停止录制的时候触发
录制指令:
11 开始录制
curl "http://192.168.42.24:8002/control/record/start?app=myapp&name=cwj001&rec=all"
12 停止录制
curl "http://192.168.42.24:8002/control/record/stop?app=myapp&name=cwj001&rec=all"
13、如果录制的文件能够访问必须吧保存录制文件的地址在nginx 中映射出去,所以需要再http中添加一个映射
location /record{
alias /usr/local/nginx/html/record;
autoindex on;
expires -1;
add_header Cache-Control no-cache;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
注:
app = myapp ,如果application 后面的名字不叫myapp,这里的app 也要相应改变;
name= 流串秘钥 ,推流的流串名称
rec =recorder 后面的名称
如果保存的.flv文件没有流串秘钥名称,检查一下你的nginx worker 的个数,进程多了会存在这种问题