流式传输到facebook rtmps导致TLS连接错误



我正在尝试用ffmpeg流式传输到Facebook。截至2019年底,连接要求为rtmps。使用股票Debian Buster ffmpeg TLS连接失败。

FFMPEG版本

ffmpeg version 4.1.6-1~deb10u1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared

流命令

$ ffmpeg -i "rtmp://127.0.0.1/restream/STREAMKEY" -threads 1 -vcodec copy -acodec copy -f flv "rtmps://live-api-s.facebook.com:443/rtmp/FSTREAMKEY"

错误

[rtmps @ 0x55d9e0e3ea40] Cannot open connection tls://live-api-s.facebook.com:443
rtmps://live-api-s.facebook.com:443/rtmp/FSTREAMKEY: Resource temporarily unavailable

我是不是错过了什么?

我必须编译ffmpeg才能使其工作。我更新到了ffmpeg 4.4,并确保我使用的是gnutls和内置的rtmp(而不是librtmp(。这些配置与我最初的测试相同,所以它似乎正在更新到ffmpeg 4.4,从而修复了它

这是对我有效的编译设置。

./configure --arch=amd64 --enable-gnutls --enable-libx264 --enable-gpl

最新更新