配置nginx录制直播流

首先,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"

你可能感兴趣的:(linux基础)