zoukankan      html  css  js  c++  java
  • 利用 Nginx + rtmp 搭建流媒体服务器

    背景

    nginx 在音视频服务也有比较强大的功能,下面给出配置步骤。

    前提:根据 软件运行环境,确保搭建好了有关支持环境
    参考:

    步骤

    1.下载第三方扩展模块nginx-rtmp-module

    wget https://github.com/arut/nginx-rtmp-module/archive/master.zip        //下载模块

    2.编译安装nginx

    nginx 添加模块都是需要重新配置编译的编译

    bash ./configure ... --add-module=/root/module/nginx-rtmp-module-master //编译安装nginx,并指定上面下载的模块路径 make make installbash

    3.修改nginx配置文件nginx.conf,添加如下内容并重新运行nginx

    rtmp {  
        server {  
            listen 1935;      #监听的端口号
            application myapp {     #自定义的名字
                live on;  
           }  
            application hls {  
                live on;  
                hls on;  
                hls_path /tmp/hls;   
                hls_fragment 1s;
                hls_playlist_length 3s;  
           }  
        } 
    }

    基于ffmpeg的测试

    简单编译ffmpeg到host

    git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg    
    cd ffmpeg
    ./configure
    make && make install

    更复杂编译ffmpeg的章节不在本文的范围内。请参考:《arm linux 移植 FFMPEG库 + x264》

    测试

    1.启用ffmpeg进行推流

    ffmpeg -i rtsp://192.168.1.175:554/11 -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -r 25 -b:v 500k -s 640*480 -f flv rtmp://192.168.1.11:1935/myapp/23
    -i 要处理视频文件的路径,此处地址是一个rtsp流地址(IP Cam)
    -s 像素
    rtmp://192.168.1.11:1935/myapp/23  
        # 说明:rtmp://IP:PORT/ myapp指nginx配置文件中自定义的,22指输出文件的名字
    -f flv 强迫指定采用flv格式

    有关:《ffmpeg命令参考》

    2.打开VLC 媒体——>打开网络串流->填入 ffmpeg推出去的路径 rtmp://192.168.1.11:1935/myapp/23

  • 相关阅读:
    转载--如果不想一辈子做工程师!
    转-----FPGA工程师:持守梦想or屈于现实
    TIMEQUEST学习之黑金动力(四)
    fir 窗口设计法
    CORDIC逼近算法
    sram的读和写
    ad采样后幅度的衰减
    verilog 之数字电路 边沿检测电路
    verilog 之数字电路 寄存器,触发器。
    da分布式算法
  • 原文地址:https://www.cnblogs.com/schips/p/11766335.html
Copyright © 2011-2022 走看看