Docker 搭建 rtsp-simple-server 及相关使用教程


共计 1418 个字符,预计需要花费 4 分钟才能阅读完成。

前言

阿蛮君最近接触了 ffmpeg,之前只知道它很强大,但从来没有用过。由于工作上使用 ffmpeg 录制了摄像头的视频流,但是自己没有摄像头,于是想着如何搭建自己的直播流。

后来发现开源的 rtsp 服务器 rtsp-simple-server,它可以读取和发布实时流,并且还可以代理流,以及进行流转换,同时还可以进行身份验证,并可以使用 api 查询和控制服务器。

下面是一些常见的用法。

一、将视频发布为rtsp流

1. 启动服务器

这里指定了 rtsp 服务器的地址为 0.0.0.0:8554,表示可以通过任何 IP 地址来访问。

docker run -d /
--name rss /
-e RTSP_RTSPADDRESS="0.0.0.0:8554" /
--network host /
aler9/rtsp-simple-server

2. 发布实时流

将视频文件发布为实时流。

ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream
  • -re:告诉FFmpeg以实时模式读取输入文件,即按照文件的实际帧率进行处理,模拟实时流的传输速度。
  • -stream_loop -1:设置循环播放输入文件,其中-1表示无限循环播放,即文件播放到末尾后会重新从开头开始播放。
  • -f rtsp:指定输出格式为RTSP(Real Time Streaming Protocol),用于将输入文件转换为RTSP流。

3. 查看实时流

可以通过 potplayer 等工具添加流地址:rtsp://ip:8554/mystream,替换 ip 即可。

这里说明一下,推流后,可以通过多种协议从服务器拿到数据。

# rtsp
rtsp://ip:8554/mystream
# rtmp
rtmp://ip:1935/mystream
# hls 它会去请求 http://ip:8888/mystream/stream.m3u8,即视频的索引文件
http://ip:8888/mystream/
# webrtc
# 还不清楚

Docker 搭建 rtsp-simple-server 及相关使用教程

/>

如果能看见视频则说明流没有问题。

Docker 搭建 rtsp-simple-server 及相关使用教程

/>

二、身份认证

1. 启动服务器

首先创建认证相关的配置文件。

mkdir -p /home/docker/rss/ && /
cd /home/docker/rss/  && /
touch rtsp-simple-server.yml  && /
cat > rtsp-simple-server.yml <<EOF
paths:
  all:
    publishUser: myuser
    publishPass: mypass

    readUser: user
    readPass: userpass
EOF

启动服务器。

docker run -d /
--name rss /
-v /home/docker/rss/rtsp-simple-server.yml:/rtsp-simple-server.yml /
-e RTSP_RTSPADDRESS="0.0.0.0:8554" /
--network host /
aler9/rtsp-simple-server

2. 发布实时流

ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f rtsp rtsp://myuser:mypass@localhost:8554/mystream

3. 查看实时流

操作和上面一样,由于这里添加的权限认证,所以填写地址:rtsp://user:userpass@ip:8554/mystream,替换 ip 即可。

【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年

给TA打赏
共{{data.count}}人
人已打赏
云原生

Ningx 配置 tcp 端口转发

2023-9-16 17:33:33

云原生

Docker 两种方式搭建 nacos

2023-9-16 19:48:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索