restreamer
restreamer copied to clipboard
Documentation for SRT ingest URL and domain
Describe the bug
Ingesting SRT via SRT server is misleading/confusing for end-users.
I'm taking the position of a “naive” user who just wants to test an SRT stream 😉
To Reproduce
docker network create restreamer
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
--network restreamer \
datarhei/restreamer:latest
Then set up the server via the wizard, where I land in these settings:
I would now expect to be able to stream to srt://localhost:6000, but it's not working:
ffmpeg -f lavfi -re -i testsrc -c:v libx264 -preset ultrafast -f mpegts srt://localhost:6000
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
built with Apple clang version 14.0.0 (clang-1400.0.29.202)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/5.1.2_5 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-neon
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, lavfi, from 'testsrc':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
10:25:08.063170/!W:SRT.cn: processAsyncConnectRequest: REJECT reported from HS processing: Peer rejected connection - not processing further
[srt @ 0x12d104910] Connection to srt://localhost:6000 failed (Input/output error), trying next address
10:25:08.066961/!W:SRT.cn: processAsyncConnectRequest: REJECT reported from HS processing: Peer rejected connection - not processing further
[srt @ 0x12d104910] Connection to srt://localhost:6000 failed: Input/output error
srt://localhost:6000: Input/output error
Only when I log in again I get to the video setup dialog, which finally shows this:
I can stream to this URL when I replace the hardcoded IP address with localhost.
Expected behavior
I would expect this to be a bit easier for first-time setup. I did not understand that the actual SRT ingest URL would be different, and enabling the SRT server does not mention this. The docs with respect to SRT are not very helpful as of now:
There are also other docs for SRT but they do not reference the concrete ingest URL either.
My recommendation would be, where it says, “Send stream to this address:”, to add a link to the settings where to change the IP address/hostname if it looks incorrect. Like: “You can configure the IP address here: …”.
Desktop (please complete the following information):
- OS: macOS
- Browser: Chrome
Thanks for describing your "naive" view. This gets sometimes lost when you're too deep in the matter and everything seems obvious.
We will improve the documentation.