nginx rtmp推流配置与测试

1. 安装nginx

2. 配置rtmp推流,配置录制

server {
        listen       81;
        server_name  localhost;

        location /live {
            flv_live on;
            chunked_transfer_encoding  on; 
            add_header 'Access-Control-Allow-Origin' '*'; 
            add_header 'Access-Control-Allow-Credentials' 'true'; 
        }

	   # 统计
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root html;
        }

	# 映射录制视频的开始/停止
        location /control {
            rtmp_control all;
        }

       # 映射录制视频的播放地址
        location /vod {
            alias /data/video_rec/;
        }
    }


rtmp {
    out_queue   4096;
    out_cork    8;
    max_streams 64;

    server {
        listen 1935;
        application iot {
            live on;
            gop_cache off;
            # 录制视频配置 
            # record :all 表示推流的时候就开始录制
		  # 添加上manual 组合标识,下发录制指令start后才开始录制 stop-停止录制
		  # 例如:开始录制指令: http://服务器地址:81/control/record/start?app=iot&name=cwj001&rec=all
		  # 停止指令: http://服务器地址:81/control/record/stop?app=iot&name=cwj001&rec=all
            recorder all {
               record all manual;
               record_suffix -%Y-%m-%d-%H-%M-%S.mp4;
               record_max_size 1000M;
               #on_record_done http://127.0.0.1:10001/;
               record_path /data/video_rec;
            }
        }
    }
}

3. 安装ffmpeg, 测试推流

sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
 
apt install libavformat-dev
apt install libavcodec-dev
apt install libswresample-dev
apt install libswscale-dev
apt install libavutil-dev
apt install libsdl1.2-dev

安装
sudo apt-get install ffmpeg

看下版本
ffmpeg -version

测试推流
 ffmpeg -re -i /data/software/test.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://127.0.0.1:1935/iot/test

注:/data/software/test.mp4 这个是预先放置在服务器的视频

可以用vlc播放推流地址 rtmp://服务器IP:1935/iot/test, 进行推流视频的实时播放

在播放的时候可以发送录制视频指令, 然后在/data/video_rec 里面查看录制的视频,注:录制视频只能在播放的时候才能录制

你可能感兴趣的:(nginx)