datarhei / restreamer

The Restreamer is a complete streaming server solution for self-hosting. It has a visually appealing user interface and no ongoing license costs. Upload your live stream to YouTube, Twitch, Facebook, Vimeo, or other streaming solutions like Wowza. Receive video data from OBS and publish it with the RTMP and SRT server.
https://docs.datarhei.com/restreamer/
Apache License 2.0
3.78k stars 438 forks source link

failed to execute ffprobe #649

Open Hannsre opened 9 months ago

Hannsre commented 9 months ago

Subject of the issue Hi, i'm trying to migrate an old setup of restreamer to a new server with the newest restreamer release, but I keep getting the same error:

Your stream wasn't accessible.
failed to execute ffprobe: Command failed: ffprobe -of json -v error -show_streams -show_format rtsp://link.to.stream

Your environment Tested on a debian 11 host (QEMU VM) with newest docker release. Also tested in Docker Desktop on Mac with the same result. During the initial setup the source will be correctly identified (Resolution and FPS), but once finished I'm back to the error above.

I've seen Issue #295 , but didn't see any solution there.

The stream works fine in an older install on a Ubuntu 20.04 VM. It is also accessible using VLC. There is no User/Pass involved that could cause the issue.

Entering the container, I can see that ffmpeg is there:

ffmpeg
ffmpeg version 5.1.3-datarhei Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 11.2.1 (Alpine 11.2.1_git20220219) 20220219

but running ffprobe will result in "not found":

ffprobe -of json -v error -show_streams -show_format -rtsp_transport tcp rtsp://link.to.stream
sh: ffprobe: not found

Files

report.txt

Steps to reproduce Install Docker and a restreamer Container as per the docs and add a RTSP Stream.

Expected behavior The stream should load

Actual behavior The error above, no image at all

ioppermann commented 8 months ago

In the latest Restreamer release, ffprobe is not anymore part of the image because it is not used anymore. Are you still using the UI from the previous/old version?

Hannsre commented 7 months ago

Hey, sorry, I was sick the last weeks so didn't check back here. I noticed it's an old error so sorry for the confusion. It seems to timeout while opening the stream, which is most likely the culprit.

I can add the stream to restreamer and get a success message, as well as the FPS and resolution of the stream. But after that it can't open the stream anymore. There was Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options along with the timeout message, but I can't replicate it now, I only get the timeout:

@1705496459     service_provider: datarhei-Restreamer
@1705496459     encoder         : Lavf59.27.100
@1705496459   Stream #0:0: Video: h264 (Constrained Baseline), yuvj420p(pc, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 15 fps, 15 tbr, 90k tbn
@1705496459   Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 64 kb/s
@1705496459     Metadata:
@1705496459       encoder         : Lavc59.37.100 aac
@1705496459 ffmpeg.mapping:{"graphs":[{"index":0,"graph":[{"src_name":"Parsed_anull_0","src_filter":"anull","dst_name":"auto_aresample_0","dst_filter":"aresample","inpad":"default","outpad":"default","timebase": "1/44100","type":"audio","format":"u8","sampling_hz":44100,"layout":"stereo"},{"src_name":"graph_0_in_1_0","src_filter":"abuffer","dst_name":"Parsed_anull_0","dst_filter":"anull","inpad":"default","outpad":"default","timebase": "1/44100","type":"audio","format":"u8","sampling_hz":44100,"layout":"stereo"},{"src_name":"format_out_0_1","src_filter":"aformat","dst_name":"out_0_1","dst_filter":"abuffersink","inpad":"default","outpad":"default","timebase": "1/44100","type":"audio","format":"fltp","sampling_hz":44100,"layout":"stereo"},{"src_name":"auto_aresample_0","src_filter":"aresample","dst_name":"format_out_0_1","dst_filter":"aformat","inpad":"default","outpad":"default","timebase": "1/44100","type":"audio","format":"fltp","sampling_hz":44100,"layout":"stereo"}]}],"mapping":[{"input":{"index":1,"stream":0},"graph":{"index":0,"name":"graph_0_in_1_0"},"output":null},{"input":{"index":0,"stream":0},"output":{"index":0,"stream":0},"copy":true},{"input":null,"graph":{"index":0,"name":"out_0_1"},"output":{"index":0,"stream":1}}]}
@1705496464 rtsp://streamURL: Operation timed out

I also just posted in your Discord - will update/close here if theres any news, wasn't sure which is the best way to proceed. Or just close it here if that's better.

ioppermann commented 7 months ago

Please check that the RTSP source is working properly and that you use TCP for the transport.