Ретрансляция RTSP потока
От: elmal  
Дата: 18.03.24 09:35
Оценка:
Есть url отдающий rtsp. Камера находится в месте где крайне ограничен канал, потому много клиентов к ней не подключить.

Есть ли какой максимально безгеморный (ну и бесплатный естественно) докер образ какого либо сервиса, который умеет этот поток ретранслировать на какое угодно большое число клиентов?

nginx такое умеет?
Re: Ретрансляция RTSP потока
От: kov_serg Россия  
Дата: 18.03.24 13:33
Оценка: +1
E>Есть ли какой максимально безгеморный (ну и бесплатный естественно) докер образ какого либо сервиса, который умеет этот поток ретранслировать на какое угодно большое число клиентов?
vlc умеет
Re[2]: Ретрансляция RTSP потока
От: elmal  
Дата: 19.03.24 05:38
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>vlc умеет

Да умеет то много кто.

Я сейчас курю https://stackoverflow.com/questions/26999595/what-steps-are-needed-to-stream-rtsp-from-ffmpeg

Соответственно поднял сервер, выполнил:
docker run -v --rm -it -v "D:\work\video/rtsp-simple-server.yml":/rtsp-simple-server.yml -p 8554:8554 aler9/rtsp-simple-server:v1.3.0


Ну и далее пытаюсь уже для начала файлик передать на этот сервер:
docker run -v "D:\work\video":/tmp linuxserver/ffmpeg:version-6.0-cli ffmpeg -re -stream_loop -1 -i "file:/tmp/IMG_2028.MP4" -f rtsp -rtsp_transport tcp rtsp://localhost:8554/live.stream


Ну и получаю мат:

ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --disable-debug --disable-doc --disable-ffplay --enable-cuvid --enable-ffprobe --enable-gpl --enable-libaom --enable-libass --enable-libfdk_aac --enable-libfreetype --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-nonfree --enable-nvdec --enable-nvenc --enable-opencl --enable-openssl --enable-stripping --enable-vaapi --enable-vdpau --enable-version3
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/tmp/IMG_2028.MP4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:02:50.71, start: 0.000000, bitrate: 1006 kb/s
Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(progressive), 640x352, 745 kb/s, 30.01 fps, 30 tbr, 90k tbn (default)
Metadata:
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
vendor_id : [0][0][0][0]
[NULL @ 0x55579e08be80] Unable to find a suitable output format for 'ffmpeg'
ffmpeg: Invalid argument

Re[3]: Ретрансляция RTSP потока
От: kov_serg Россия  
Дата: 19.03.24 07:39
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, kov_serg, Вы писали:


_>>vlc умеет

E>Да умеет то много кто.

E>Я сейчас курю https://stackoverflow.com/questions/26999595/what-steps-are-needed-to-stream-rtsp-from-ffmpeg


#!/bin/sh

vlc --ttl 5 --miface=eth0 --vlm-conf=conf.vlc

Предполагается что мультикаст на интерфейсе eth0
# conf.vlc

new channel1 broadcast enabled
setup channel1 input rtsp://admin:admin@192.168.1.100:554/0 loop
setup channel1 output #rtp{mux=ts,dst=224.10.0.11,sdp=sap://,name="stream name 1"}
control channel1 play

new channel2 broadcast enabled
setup channel2 input myvideo.mp4 loop
setup channel2 output #rtp{mux=ts,dst=224.10.0.12,sdp=sap://,name="stream name 2"}
control channel2 play

new channel3 broadcast enabled
setup channel3 input v4l2:///dev/video0
setup channel3 option :input-slave=alsa://plughw:0,0
setup channel3 output #transcode{vcodec=mp2v,vb=3000,acodec=mp3,channels=1,ab=128,samplerate=44100}:rtp{dst=224.10.0.13,mux=ts,sdp=sap://,name="web cam"}
control channel3 play
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.