ffmpeg: RIST protocol does not open a listener

Ragnos

New Member
Hey folks,

i'm trying to get streaming over RIST protocol working. Since there are no proper open source servers for this around, i tried my luck with ffmpeg.
My issue is that i can't get ffmpeg to actually listen to a port with rist protocol.

Specs:
OS: Debian 10.13 amd64 (for what its worth this is also happening on windows, but linux is my target)
ffmpeg version N-108445-ga1bfb5290e-20220930 (Latest git build from https://github.com/BtbN/FFmpeg-Builds since Debian doesnt ship librist until bookworm)
$ ./ffmpeg -version
ffmpeg version N-108445-ga1bfb5290e-20220930 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.1.0 (crosstool-NG 1.25.0.55_3defb7b)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux --enable-version3 --disable-debug --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-libxcb --enable-xlib --enable-amf --enable-libaom --enable-libaribb24 --disable-avisynth --enable-libdav1d --disable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --disable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-mbedtls --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --disable-librubberband --disable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libdrm --enable-vaapi --disable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --disable-libx264 --disable-libx265 --disable-libxavs2 --disable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags=-pie --extra-libs='-ldl -lgomp' --extra-version=20220930
libavutil 57. 38.100 / 57. 38.100
libavcodec 59. 48.100 / 59. 48.100
libavformat 59. 33.100 / 59. 33.100
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 49.100 / 8. 49.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100

This is my command line for running a rist listener and ingest it into my running nginx-rtmp:

$ ./ffmpeg -i "rist://[::]:9000?cname=FF&bandwidth=8000" -c copy -f flv rtmp://127.0.0.1:1935/input/ragnos

I can see with netstat -tulpn that the process doesn't even open up port 9000 or any other port i tried. Only a random high port is opened, but it won't accept rist anyway.
I've tried different combinations of IP addresses both IPv4 and IPv6. I also tried it on my windows machine with everything on localhost, so it's consistently broken.

I'd appreciate any suggestions, i would really like to test out rist streaming.
 

hnrIT

New Member
Hi.

Try to add an @ symbol preceding IP. Something like "rist://@[::]:9000?cname=FF&bandwidth=8000"

In my experience works well when you start a client -or clients- first -without @-.

Tested with obs as server and obs and ffplay as client.
 
Top