使用 ffmpeg 推流本地视频

步骤1: 安装Nginx和RTMP模块

  1. 安装Nginx
    • 在Ubuntu系统上,你可以通过APT包管理器安装Nginx:
      sudo apt update
      sudo apt install nginx
      
  2. 编译RTMP模块
    • RTMP模块不是Nginx的标准部分,需要额外安装。通常需要从源代码编译Nginx以包括RTMP模块。你可以使用以下命令安装编译所需的依赖,并下载Nginx和RTMP模块源代码进行编译:
      sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev
      wget http://nginx.org/download/nginx-1.18.0.tar.gz
      tar -zxvf nginx-1.18.0.tar.gz
      git clone https://github.com/arut/nginx-rtmp-module.git
      cd nginx-1.18.0/
      ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
      make
      sudo make install
      

步骤2: 配置RTMP模块

  1. 编辑Nginx配置文件
    • 通常Nginx的配置文件位于/usr/local/nginx/conf/nginx.conf或者/etc/nginx/nginx.conf。你需要编辑这个文件来添加RTMP配置。以下是一个基本的RTMP配置示例:
      rtmp {
          server {
              listen 1935;  # RTMP默认端口
              chunk_size 4096;
              application live {
                  live on;
                  record off;
              }
          }
      }
      

步骤3: 启动Nginx服务器

步骤4: 推送流到服务器

这里需要提前机器上安装 ffmpeg。

后台运行并保存日志文件

nohup ffmpeg -nostdin -re -i GPT1-3讲解.mp4 -c copy -f flv rtmp://100.103.255.6/live/stream1 > ffmpeg_log12.txt 2>&1 &

测试和验证