nginx - 我无法使用 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 上运行它
解决方案
推荐阅读
- django - Django:多个管理页面使用相同的模型但不同的身份验证模式
- android - 扩展 RoomDatabase 的 Singleton Kotlin 类只被调用一次
- algorithm - C - 嵌套循环的时间复杂度
- scala - 如何对应用于输入的验证规则进行单元测试
- kotlin - 如何转换反应堆通量
到输入流 - javascript - dygraph:x轴y轴设置最小值和最大值
- javascript - chrome 扩展:OAuth2 请求失败:服务响应错误:“错误请求”
- reactjs - React 上的输入字段状态更改
- arduino - 如何进行继承
- python - 为什么map和filter函数在python3中返回迭代器?