首页 > 解决方案 > 我无法使用 ffmpeg 创建 RTMP 流

问题描述

我已经使用 Nginx 设置了一个 rtmp 服务器,它似乎工作正常。但是当我尝试使用 FFmpeg 创建 RTMP 流时,它会卡在一个帧上并且流式传输不起作用(只是保持缓冲)。

FFmpeg 命令运行:

ffmpeg -re -i CD_Final_compress.mp4 -vcodec copy -loop -1 -c:a aac -b:a 160k -ar 44100 -strict -2 -f flv rtmp://127.0.0.1/live/bbb

输出:

ffmpeg version N-98112-g7aa7d68 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/home/navneet/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/navneet/ffmpeg_build/include --extra-ldflags=-L/home/navneet/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/navneet/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      56. 53.100 / 56. 53.100
  libavcodec     58. 92.100 / 58. 92.100
  libavformat    58. 46.101 / 58. 46.101
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CD_Final_compress.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.33.100
  Duration: 00:17:33.85, start: 0.000000, bitrate: 521 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 386 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, flv, to 'rtmp://127.0.0.1/live/bbb':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.46.101
    Stream #0:0(und): Video: h264 (High) ([7][0][0][0] / 0x0007), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 386 kb/s, 30 fps, 30 tbr, 1k tbn, 15360 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.92.100 aac
frame= 1652 fps= 30 q=-1.0 size=    4895kB time=00:00:54.96 bitrate= 729.5kbits/s speed=0.999x

注意:我在 Windows 上的 WSL 1 Ubuntu 上运行它

标签: nginxffmpegrtmp

解决方案


推荐阅读