Streaming to rtmps fails with "TLS_Connect failed"
Hi,
I'm trying to send a live video to Facebook using rtmps, without success:
gst-launch-1.0 -v flvmux name=mux ! rtmpsink \
location="rtmps://live-api-s.facebook.com:443/rtmp/..." videotestsrc ! \
video/x-raw, width=360, height=288 ! x264enc ! \
video/x-h264,profile=baseline,width=360,height=288 ! h264parse ! \
mux. audiotestsrc wave=5 ! audioconvert ! avenc_aac ! aacparse ! mux.
Given error is always:
0:00:00.190764572 3421 0x555afb5b00a0 ERROR rtmp :0:: RTMP_Connect1, TLS_Connect failed
I've seen that this error comes from librtmp: http://git.ffmpeg.org/gitweb/rtmpdump.git/blob_plain/HEAD:/librtmp/rtmp.c
I'm using CentOS 8 Linux, with packages installed from repos:
# dnf list gstreamer1*
Última comprovació del venciment de les metadades: fa 1:58:56 el dijous, 18 de març de 2021, 07:31:48 UTC.
Paquets instal·lats
gstreamer1.x86_64 1.16.1-2.el8 @appstream
gstreamer1-libav.x86_64 1.16.1-1.el8 @rpmfusion-free-updates
gstreamer1-plugins-bad-free.x86_64 1.16.1-1.el8 @appstream
gstreamer1-plugins-bad-freeworld.x86_64 1.16.1-1.el8 @rpmfusion-free-updates
gstreamer1-plugins-bad-nonfree.x86_64 1.16.1-1.el8 @rpmfusion-nonfree-updates
gstreamer1-plugins-base.x86_64 1.16.1-1.el8 @appstream
gstreamer1-plugins-good.x86_64 1.16.1-1.el8 @appstream
gstreamer1-plugins-ugly.x86_64 1.16.1-1.el8 @rpmfusion-free-updates
gstreamer1-plugins-ugly-free.x86_64 1.16.1-1.el8 @appstream
Other related packages:
gnutls.x86_64 3.6.14-7.el8_3 @baseos
librtmp.x86_64 2.4-15.20190330.gitc5f04a5.el8 @rpmfusion-free-updates
# ldd /usr/lib64/librtmp.so.1
linux-vdso.so.1 (0x00007ffdf4d96000)
libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007f8bf7fda000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f8bf7cbc000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8bf7ab8000)
libz.so.1 => /lib64/libz.so.1 (0x00007f8bf78a1000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8bf74de000)
libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007f8bf71ab000)
libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f8bf6f8d000)
libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f8bf6c0c000)
libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007f8bf69f9000)
libnettle.so.6 => /lib64/libnettle.so.6 (0x00007f8bf67bf000)
libhogweed.so.4 => /lib64/libhogweed.so.4 (0x00007f8bf658f000)
libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f8bf62f7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8bf85e9000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f8bf60d6000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f8bf5ecd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8bf5cad000)
I have compiled gstreamer 1.18 from source with gst-build, but the problem persists.
Sending content to an rtmp (without s) server works fine.
The same gst-launch command from an instance with CentOS 7 with gstreamer 1.16.2 compiled from source works fine:
gnutls.i686 3.3.29-9.el7_6 base
librtmp.x86_64 2.4-2.20131205.gitdc76f0a.el7.nux @nux-dextop
How can I debug the reason of the "TLS_Connect failed" error?