是否可以在同一台机器上托管多个 aler9/rtsp-simple-server

Is it possible to host multiple aler9/rtsp-simple-server on the same machine

我正在使用此命令在我的 linux 机器上启动服务器:

docker run -d --rm -it --network=host aler9/rtsp-simple-server

以及这个连接 rtsp 流的命令

docker run -v $(pwd):$(pwd) --network=host linuxserver/ffmpeg:arm64v8-latest -re -stream_loop -1 -i $(pwd)/sample.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream

是否可以启动第二个 rtsp 服务器并将 rtsp 流连接到第二个服务器。

我想做的是模拟多个摄像头,每个摄像头有一个子流

像这样尝试 运行 多个 rtsp 服务器:

docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 aler9/rtsp-simple-server
docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8555:8554 -p 1936:1935 aler9/rtsp-simple-server
docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8556:8554 -p 1937:1935 aler9/rtsp-simple-server

然后像这样连接:

# Connecting to first server
docker run -v $(pwd):$(pwd) --network=host linuxserver/ffmpeg:arm64v8-latest -re -stream_loop -1 -i 
$(pwd)/sample.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream
# Connecting to second server
docker run -v $(pwd):$(pwd) --network=host linuxserver/ffmpeg:arm64v8-latest -re -stream_loop -1 -i $(pwd)/sample.mp4 -c copy -f rtsp rtsp://localhost:8555/mystream
# Connecting to third server
docker run -v $(pwd):$(pwd) --network=host linuxserver/ffmpeg:arm64v8-latest -re -stream_loop -1 -i $(pwd)/sample.mp4 -c copy -f rtsp rtsp://localhost:8556/mystream

此解决方案基本上使用 docker 端口映射并将每个服务器映射到不同的端口,这样它们就不会发生冲突。根据 aler9/rtsp-simple-server 端口映射适用于 tcp,可能不适用于 udp。

udp 解决方案需要更多调查。