1、续ffmpeg应用
         在上一篇帖子中,完成了推流与拉流操作,但是项目中,很多时候不想部署一台PC去当小型服务器,所以我们的英蓓特MaaXBoard板
卡是可以承担这个任务的。推流、流媒体服务器都用它,实现监控的一端推流到自身板卡,然后再局域网内都可以访问查看实时视频。

2、功能
        跟上次差不多,就是源的选择可以是监控设备,视频流、本地文件等,强大的ffmpeg都可以接收
QQ图片20200814140148.png
3、步骤
        本次将上述的ffmpeg、nginx+rtmp流媒体服务器移植到arm-linux,把他部署到前端设备,局域网内都可以访问了
        3.1、前期准备
        启动系统后登录,先ping一下域名看看能否通公网,检查下上次装的ffmpeg:输入ffmpeg -V有输出版本表示正常
        由于系统上不是所有东西都能apt-get ,或者是某些时候源的问题,所以本次的nginx+rtmp采用编译方式安装,

        3.2、安装所需的库文件以支持依赖关系
apt-get update    //先更新一下源 apt-get update (所有操作均在root账户下操作,所以不加sodu了)
  • apt-get install libpcre3 libpcre3-dev libssl-dev zlib1g-dev
  • 复制代码
    安装后如下图所示      
    QQ图片20200814141724.png

           3.3、下载所需的nginx+rtmp源码
           可以参考:https://www.cnblogs.com/daner1257/p/10549232.html  或者找找资源,这个开源的随处开源下载到
           自己 mkdie filename 一个目录,将压缩包传到debian上并解压,得到如下的源码
    QQ图片20200814142617.png
          
          解压命令
    tar -xvf filename    //  这个是解压tar.zg的
  • unzip   filename    //这个是解压zip的   
  • unrar -x filename  //这个是解压rar的
  • 一般来说系统上unzip和unrar没有安装,可以自己apt-get unzip unrar -y
  • 复制代码
          3.4、源码编译和安装配置
           先看看gcc怎么样,执行gcc -v,没有的话要安装一下
           执行 : apt-get install gcc -y

           执行 cd nginx-1.19.1 进入目录下,配置configuer文件,执行以下命令,目的是给nginx添加rtmp模块(注意自己的路径)
    ./configure --add-module=/home/ydtest/nginx-http-flv-module-master
    复制代码
          等待输出到最后的信息,如下图。如果出错,多半是依赖库没有安装得或者路径有问题     
    QQ图片20200814145040.png

          配置完成后接着就可以编译和安装了,命令如下
    apt-get install make
  • make && make install
  • 复制代码
          慢慢等待编译完成,最后再objs下会产生一个nginx可执行文件。

           然后配置nginx.conf文件:cd conf进入到配置文件目录,执行vim nginx.conf 配置如下,增加rtmp模块
           QQ图片20200814150933.png


           3.5、运行
           执行如下命令运行nginx,如果没有报错,再用ps -ef看看进程启动了就是得了,-c后面表示引入nginx指定的配置文件
    /ytest/nginx-1.19.1/objs/nginx -c /ytest/nginx-1.19.1/conf/nginx.conf
    复制代码
          接下来运行ffmpeg推流,将MP4文件推流推向自己的ip,让ngixn接收到,然后就可以再局域网内用vlc等播放器观看了,命令如下
    ffmpeg -i ./dengziqi.mp4 -c:v libx264 -c:a aac -strict -2 -f flv -s 640x320 -q 10 rtmp://192.168.1.90:1935/live/mv
    复制代码
          在电脑上用vlc播放,填入板卡的IP:rtmp://192.168.1.90/live/mv   ,效果如下,
    QQ图片20200814152715.png

          live对应conf配置文件的live模块,mv对应推流命令的mv这是密钥,如果-i 参数输入不是mp4,应换成对应的,比如udp://xxx:xxx端口

         end