使用 ffmpeg 启动 Facebook Live 时出错

使用 ffmpeg 启动 Facebook Live 时出错

我需要一些帮助,尝试使用 ffmpeg 将 IPCAM 流式传输到 Facebook。

我正在使用这个命令:

ffmpeg -rtsp_transport tcp -thread_queue_size 1024 -i rtsp://admin:[email protected]:24300/cam/realmonitor?channel=1&subtype=0 -f s16le -ar 48k -ac 1 -thread_queue_size 1024 -i pipe:0 -vf movie='http\:\/\/localhost\:9000\/storage\/images\/2\/avatar\/lwijf70iPGNXYuCF15rqEPEBYA3N65WJM33SWLdV.png', scale=160:-1[inner];[in][inner]overlay=x=main_w-overlay_w-(main_w*0.02):y=main_h*0.03 -threads 10 -vcodec libx264 -c:a aac -force_key_frames expr:gte(t,n_forced*2) -reorder_queue_size 4000 -max_delay 10000000 -pix_fmt yuv420p -f flv rtmps://live-api-s.facebook.com:443/rtmp/4500974533305444?s_bl=1&s_psm=1&s_sw=0&s_vt=api-s&a=Abwvu8oZ-EaypT31

该命令将 IPCAM 与浏览器捕获的音频源混合,使用视频过滤器添加徽标,并将结果输出到 Facebook。

直到昨天一切都运行正常,现在当我启动命令时,实时视频会在 Facebook 上显示几秒钟(6 到 15 秒),然后 ffmpegs 抛出错误并且流完成。

产生的 6 至 15 秒的流仍然停留在我的 Facebook 页面上,我可以听到音频,一切似乎正常。

唯一的问题是 ffmpeg 不断关闭流。

以下是 ffmpeg 的输出:

Stderr 输出:ffmpeg 版本 N-92722-gf22fcd4483 版权所有 (c) 2000-2018 FFmpeg 开发人员

Stderr 输出:使用 gcc 8.2.1 (GCC) 20181201 构建
Stderr 输出:配置:--enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
Stderr 输出:libavutil 56. 24.101 / 56. 24.101
Stderr 输出:libavcodec 58. 42.102 / 58. 42.102
Stderr 输出:libavformat 58. 24.101 / 58. 24.101
Stderr 输出:libavdevice 58. 6.101 / 58. 6.101
Stderr 输出:libavfilter 7. 46.101 / 7. 46.101
Stderr 输出:libswscale 5. 4.100 / 5. 4.100
Stderr 输出:libswresample 3. 4.100 / 3. 4.100
Stderr 输出:libpostproc 55. 4.100 / 55. 4.100
Stderr 输出:输入 #0,rtsp,来自'rtsp://admin:[电子邮件保护]:24300/cam/realmonitor?channel=1&subtype=0':
Stderr 输出:元数据:
Stderr 输出:标题:媒体服务器
Stderr 输出:持续时间:N/A,开始:0.236667,比特率:N/A
Stderr 输出:流 #0:0:视频:h264 (主),yuvj420p(pc、bt709、渐进式),1920x1080 [SAR 1:1 DAR 16:9],30 fps,100 tbr,90k tbn,60 tbc Stderr 输出
:输入流 #1.0 的猜测通道布局:单声道
Stderr 输出:输入 #1,s16le,来自'pipe:0':
Stderr 输出:持续时间:N/A,比特率:768 kb/s
Stderr 输出:流 #1:0:音频: pcm_s16le,48000 Hz,单声道,s16,768 kb/s
Stderr 输出:流映射:

Stderr 输出:流 #0:0 -> #0:0 (h264 (本机) -> h264 (libx264))
Stderr 输出:流 #1:0 -> #0:1 (pcm_s16le (本机) -> aac (本机))
Stderr 输出:[swscaler @ 000001f63fa2c300] 使用了弃用的像素格式,请确保正确设置了范围
Stderr 输出:[libx264 @ 000001f63ff59040] 使用 SAR=1/1
Stderr 输出:[libx264 @ 000001f63ff59040] 使用 cpu 功能:MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
Stderr 输出:[libx264 @ 000001f63ff59040] 配置文件高,级别4.0、4:2:0、8 位
Stderr 输出:[libx264 @ 000001f63ff59040] 264 - 核心 157 r2935 545de2f - H.264/MPEG-4 AVC 编解码器 - Copyleft 2003-2018 -http://www.videolan.org/x264.html- 选项:cabac=1 ref=3 deblock=1:0:0 analyze=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 combined_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2threads=10 lookahead_threads=1sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Stderr 输出:输出 #0,flv,到‘rtmps://live-api-s.facebook.com:443/rtmp/4500974533305444?s_bl=1&s_psm=1&s_sw=0&s_vt=api-s&a=Abwvu8oZ-EaypT31’:
Stderr 输出:元数据:
Stderr 输出:标题:媒体服务器
Stderr 输出:编码器:Lavf58.24.101
Stderr 输出:流 #0:0:视频:h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(逐行),1920x1080 [SAR 1:1 DAR 16:9],q=-1--1,30 fps,1k tbn,30 tbc
Stderr 输出:元数据:
Stderr 输出:编码器:Lavc58.42.102 libx264
Stderr 输出:侧数据:
Stderr 输出:cpb:比特率最大/最小/平均:0/0/0 缓冲区大小:0 vbv_delay:-1
Stderr 输出:流 #0:1:音频:aac (LC) ([10][0][0][0] / 0x000A),48000 Hz,单声道,fltp,69 kb/s
Stderr 输出:元数据:
Stderr 输出:编码器:Lavc58.42.102 aac
Stderr 输出:[Parsed_movie_0 @ 000001f63fb328c0] EOF 时间戳不可靠
Stderr 输出:帧= 1 fps=0.0 q=0.0 大小= 0kB 时间=00:00:00.00 比特率=N/A 速度= 0x
Stderr 输出:帧= 47 fps= 43 q=0.0 大小= 0kB 时间=00:00:00.00 比特率=N/A dup=0 丢弃=5 速度= 0x
Stderr 输出:帧= 75 fps= 47 q=29.0 大小= 253kB 时间=00:00:00.61 比特率=3349.9kbits/s dup=0 丢弃=5 速度=0.384x
Stderr 输出:帧= 106 fps= 50 q=26.0 大小= 311kB时间=00:00:01.66 比特率=1529.1kbits/s 重复=0 丢弃=5 速度=0.783x
Stderr 输出:帧=122 fps=46 q=29.0 大小=660kB 时间=00:00:02.16 比特率=2492.1kbits/s 重复=0 丢弃=5 速度=0.824x
Stderr 输出:帧=137 fps=43 q=29.0 大小=678kB 时间=00:00:02.68 比特率=2064.9kbits/s 重复=0 丢弃=5 速度=0.853x
Stderr 输出:帧=153 fps=42 q=29.0 大小=696kB 时间=00:00:03.20比特率=1781.6kbits/s dup=0 drop=5 速度=0.875x
Stderr 输出:帧=167 fps=40 q=29.0 大小=712kB 时间=00:00:03.69 比特率=1579.8kbits/s dup=0 drop=5 速度=0.884x
Stderr 输出:帧=184 fps=39 q=29.0 大小=1048kB 时间=00:00:04.23 比特率=2028.3kbits/s dup=0 drop=5 速度=0.903x
Stderr 输出:帧=199 fps=38 q=29.0 大小=1066kB 时间=00:00:04.75 比特率=1834.9kbits/s dup=0 drop=5速度=0.916x
Stderr 输出:帧= 214 fps= 38 q=29.0 大小= 1083kB 时间=00:00:05.23 比特率=1695.5kbits/s 重复=0 丢弃=5 速度=0.919x
Stderr 输出:[tls @ 000001f63f585400] 推送功能出错。Stderr
输出:av_interleaved_write_frame():I/O 错误
Stderr 输出:最后一条消息重复 1 次
Stderr 输出:[flv @ 000001f63f561480] 无法使用正确的持续时间更新标题。Stderr
输出:[flv @ 000001f63f561480] 无法使用正确的文件大小更新标题。
Stderr 输出:写入 rtmps://live-api-s.facebook.com:443/rtmp/4500974533305444?s_bl=1&s_psm=1&s_sw=0&s_vt=api-s&a=Abwvu8oZ-EaypT31 的预告片时出错:I/O 错误
Stderr 输出:帧=221 fps=35 q=29.0 Lsize=1092kB 时间=00:00:05.48 比特率=1631.5kbits/s dup=0 drop=5 速度=0.862x
Stderr 输出:视频:1037kB 音频:48kB 字幕:0kB 其他流:0kB 全局标头:0kB 多路复用开销:0.671300%
Stderr 输出:[tls @ 000001f63f585400]指定的会话由于某种原因已无效。
Stderr 输出:最后一条消息重复 1 次
Stderr 输出:[libx264 @ 000001f63ff59040] 帧 I:4 平均 QP:14.85 大小:284559
Stderr 输出:[libx264 @ 000001f63ff59040] 帧 P:56 平均 QP:16.82 大小:3908
Stderr 输出:[libx264 @ 000001f63ff59040] 帧 B:161 平均 QP:25.06 大小:357 Stderr
输出:[libx264 @ 000001f63ff59040] 连续 B 帧:2.3% 0.9% 2.7% 94.1%
Stderr 输出:[libx264 @ 000001f63ff59040] mb I I16..4: 36.5% 15.1% 48.4%
Stderr 输出:[libx264 @ 000001f63ff59040] mb P I16..4: 0.1% 0.1% 0.0% P16..4: 7.5% 0.7% 1.2% 0.0% 0.0% skip:90.3%
Stderr 输出:[libx264 @ 000001f63ff59040] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 5.2% 0.0% 0.0% direct: 0.0% skip:94.8% L0: 9.4% L1:90.6% BI: 0.0%
Stderr 输出:[libx264 @ 000001f63ff59040] 8x8 变换 内部:15.6% 外部:53.0%
Stderr 输出:[libx264 @ 000001f63ff59040] 编码 y、uvDC、uvAC 内部:90.1% 0.7% 0.6% 外部:0.8% 0.0% 0.0%
Stderr 输出:[libx264 @ 000001f63ff59040] i16 v、h、dc、p:18% 22% 48% 13%
Stderr 输出:[libx264 @ 000001f63ff59040] i8 v、h、dc、ddl、ddr、vr、hd、vl、hu:25% 33% 20% 3% 2% 4% 4% 4% 6%
Stderr 输出:[libx264 @ 000001f63ff59040] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:23% 29% 18% 4% 4% 4% 7% 3% 8%
Stderr 输出:[libx264 @ 000001f63ff59040] i8c dc,h,v,p:100% 0% 0% 0%
Stderr 输出:[libx264 @ 000001f63ff59040] 加权 P 帧:Y:0.0% UV:0.0%
Stderr 输出:[libx264 @ 000001f63ff59040] ref P L0:85.9% 0.8% 9.4% 4.0%
Stderr 输出:[libx264 @ 000001f63ff59040] ref B L0:70.7% 26.2% 3.1%
Stderr 输出:[libx264 @ 000001f63ff59040] ref B L1:76.4% 23.6%
Stderr 输出:[libx264 @ 000001f63ff59040] kb/s:1536.22
Stderr 输出:[aac @ 000001f63f583600] Qavg:331.232
Stderr 输出:转换失败!

有人知道什么可能导致这种中断并引发这些错误吗?

相关内容