Restreamer
一个非常好用且免费的直播流处理替代方案。
自托管解决方案,可将直播流传输到您的网站,并发布到YouTube直播、Twitter、Twitch、Vimeo等多个平台或服务。我们的Docker镜像易于安装,可在Linux环境(MacOS/Windows通过Docker Desktop)上运行。此外,还可以将Restreamer与Raspberry Pi等单板计算机或支持GPU的系统结合使用,实现视频编码。
功能特点
- 简化的用户界面
- 简单的向导配置
- 支持多种音频/视频输入、输出、协议和编解码器
- 可重新推流到YouTube直播等平台、Wowza Media Server等软件,以及基于RTMP、SRT等协议的其他平台
- 可选择将单独的音频通道混合到视频中
- 内置VideoJS播放器,可嵌入您的网站
- 可配置的发布网站,无需嵌入播放器即可进行流媒体传输
- 支持知识共享许可的内容授权
- HTTP/S(HLS)、RTMP/S和SRT流媒体服务器
- 自动Let's Encrypt HTTPS证书
- 观看者/带宽监控和限制
- 支持Raspberry Pi(MMAL/OMX)、Nvidia Cuda、Intel VAAPI
- 支持硬件和虚拟设备
- FFmpeg视频处理(尽可能原生)
- REST-API(JSON)并100%由Swagger文档化
- 资源监控(可选择使用Prom-Metrics)
- 服务器和进程日志记录
- 符合GDPR,无第三方提供商,不保存观众数据
快速设置
AMD64/ARMv7/ARM64:
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 \
datarhei/restreamer:latest
仅对本地设备(如USB摄像头)使用--privileged
。
如果无法访问网络源,请尝试使用--security-opt seccomp=unconfined
。
ARMv7/ARM64 Raspberry Pi:
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \
--privileged \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:rpi-latest
仅对本地设备(如USB摄像头)使用--privileged
。
如果无法访问网络源,请尝试使用--security-opt seccomp=unconfined
。
AMD64 Nvidia Cuda:
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \
--runtime=nvidia --privileged \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:cuda-latest
仅对本地设备(如USB摄像头)使用--privileged
。
如果无法访问网络源,请尝试使用--security-opt seccomp=unconfined
。
AMD64 Intel VAAPI:
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \
-v /dev/dri:/dev/dri --privileged \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:vaapi-latest
--privileged
仅用于本地设备,如USB摄像头。
如果无法访问网络源,请尝试使用 --security-opt seccomp=unconfined
。
对于外部访问(http/s、rtmp/s、srt),可能需要在您的互联网路由器上设置端口转发到Restreamer的内部IP地址。
文档
文档可在 docs.datarhei.com/restreamer 上获取。我们提供了大量信息,从设置摄像头、在您的网站上嵌入播放器,到将流媒体传输到YouTube-Live等服务,以及更多内容。
开发
创建自定义镜像(捆绑包):
Restreamer FFmpeg:
$ git clone github.com/datarhei/ffmpeg
$ cd ffmpeg
$ docker build -f Dockerfile.alpine -t myffmpeg .
Restreamer 后端(Golang):
$ git clone github.com/datarhei/core
$ cd core
$ docker build -t mycore .
Restreamer 界面(React):
$ git clone github.com/datarhei/restreamer-ui
$ cd restreamer-ui
$ docker build -t myrsui .
Restreamer 捆绑包:
$ git clone github.com/datarhei/restreamer
$ cd restreamer
$ docker build --build-arg FFMPEG_IMAGE=myffmpeg --build-arg CORE_IMAGE=mycore --build-arg RESTREAMER_UI_IMAGE=myrsui -t myrestreamer .
$ docker run -it --rm -p 8080:8080 myrestreamer
为Restreamer 界面添加/修复翻译:
Restreamer 界面目前已翻译成多种语言,如德语、法语、意大利语、西班牙语等。如果您发现翻译中的错误或对某些句子有更好的建议,您可以在 poeditor.com 上成为翻译贡献者。 您还可以在那里开始翻译Restreamer界面中尚未提供的语言。
在此贡献翻译:https://poeditor.com/join/project/ogATl3F48K
社区支持
有关使用Restreamer的一般帮助,请参阅官方文档。如需额外支持,您可以使用Github提出问题(错误报告、贡献、功能)。
许可证
有关许可信息,请参阅 LICENSE 文件。
商业咨询
我们为商业需求提供专业支持、敏捷软件开发和咨询服务。 如果您有商业请求,无论是错误报告还是功能增强,请直接联系我们:support@datarhei.com。