mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
119 lines
7.0 KiB
Markdown
119 lines
7.0 KiB
Markdown
|
[#]: subject: "Use your Raspberry Pi as a streaming server"
|
|||
|
[#]: via: "https://opensource.com/article/23/3/raspberry-pi-streaming-server"
|
|||
|
[#]: author: "Sven Erbeck https://opensource.com/users/erbeck"
|
|||
|
[#]: collector: "lkxed"
|
|||
|
[#]: translator: "geekpi"
|
|||
|
[#]: reviewer: " "
|
|||
|
[#]: publisher: " "
|
|||
|
[#]: url: " "
|
|||
|
|
|||
|
把你的树莓派当作流媒体服务器使用
|
|||
|
======
|
|||
|
|
|||
|
从网络摄像头流式传输实时视频有多种原因。树莓派平台很适合此类应用。对于实时流媒体服务器等连续应用,它只需要很少的电力。可以与 Raspicam 相机模块、USB 摄像头或其他网络视频信号进行通信。该系统是一个 RTMP、HLS 和 SRT 服务器。这篇文章展示了如何将树莓派设置为流媒体服务器以使用 HLS 流媒体。你需要一个视频源才能把它作为流媒体服务器使用。
|
|||
|
|
|||
|
即使没有树莓派,你也可以完成这里描述的步骤。此外,还有针对 [Windows][1]、[Linux][2] 和 [macOS][3] 的进一步安装说明。
|
|||
|
|
|||
|
### 设置
|
|||
|
|
|||
|
该应用程序是 datarhei [Restreamer][4],是 datarhei [Core][5] 的图形用户界面。datarhei Core 在底层运行著名的媒体框架 FFmpeg。开始使用 datarhei Restreamer 的最简单方法是安装官方 Docker 容器。通过 Docker Hub 的程序下载和安装是通过 `pull` 命令自动进行的。安装后,Restreamer 立即启动。如果你没有树莓派,可以使用 datarhei [Restreamer GitHub][4] 页面上的其他 Docker 容器之一(例如,支持 AMD64 或 GPU Cuda)。
|
|||
|
|
|||
|
datarhei Restreamer 和 datarhei Core 都是 [Apache License 2.0][6] 下的开源软件。
|
|||
|
|
|||
|
以下是在支持 GPU 的树莓派 3 及以上机型上的安装命令:
|
|||
|
|
|||
|
```
|
|||
|
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
|
|||
|
```
|
|||
|
|
|||
|
无论你使用哪条命令,你只需要 `--privileged` 选项来访问本地设备,如 USB 摄像头。
|
|||
|
|
|||
|
安装后,将 Raspberry Pi 连接到本地网络。然后在浏览器中进入 [http://device-ip:8181/ui][7] 打开基于 Web 的 GUI。
|
|||
|
|
|||
|
你应该看到以下屏幕:
|
|||
|
|
|||
|
![First login into datarhei Restreamer][8]
|
|||
|
|
|||
|
分配好密码,系统就可以进行首次登录了。向导正在开始配置第一个视频源。
|
|||
|
|
|||
|
提示:上述 Docker 命令将带有登录名和密码的配置数据永久保存在 `/opt/restreamer/config` 文件夹中。
|
|||
|
|
|||
|
### 实施
|
|||
|
|
|||
|
该应用程序由三个逻辑部分组成:视频输入、系统仪表板和视频输出。视频输入和输出相互独立运行。
|
|||
|
|
|||
|
### 视频输入
|
|||
|
|
|||
|
该向导将帮助你从一开始就创建一个视频源。这可以是一个 USB 视频源、树莓派摄像头,或者是一个网络源,如 IP 摄像头或来自网络的 m3u8 文件。HLS、RTMP 和实时 SRT 协议都可以使用。该向导帮助正确配置视频分辨率和声音。在最后一步,你可以从 Creative Commons 分配不同的许可证。值得看一下视频信号的设置。你会发现几个选项,例如为垂直视频平台转码或旋转视频。
|
|||
|
|
|||
|
### 仪表板
|
|||
|
|
|||
|
成功创建视频信号后,你将进入仪表板。
|
|||
|
|
|||
|
![datarhei Restreamer dashboard][9]
|
|||
|
|
|||
|
它是所有其他设置的中心起点。要看到程序的全部功能,你可以在系统偏好中切换到专家模式。
|
|||
|
|
|||
|
仪表板包含以下内容:
|
|||
|
|
|||
|
- 视频信号设置。
|
|||
|
- RTMP、SRT、HLS 服务器和快照的活动内容 URL。
|
|||
|
- 用于重新流式传输的所有活动发布服务。
|
|||
|
- 启动向导来创建额外的视频源。
|
|||
|
- 系统菜单。
|
|||
|
- 实时视频信号统计。
|
|||
|
- 实时系统监控。
|
|||
|
|
|||
|
### 视频输出
|
|||
|
|
|||
|
有不同的方法来播放视频信号。
|
|||
|
|
|||
|
[发布网站][10] 是 Restreamer 最简单、即时可用且内部托管的登录页面。播放页面也可以传输到 Chromecast 和 AirPlay。基本设置,如调整背景图片和在播放器中添加标识,可以直接在 Restreamer 中进行。那些懂 HTML 的人可以为自己定制页面。高级用户可以注入代码,以使用网站的外部模块,如聊天。视频播放器下的统计模块显示活跃的观众和所有视图。**分享**按钮支持直播流的分发。网站的 HTTPS 证书通过 Let's Encrypt 激活,无需太多努力。通过简单的 HTTPS 端口转发到树莓派的 LAN IP,网站就可以公开访问。
|
|||
|
|
|||
|
![Landingpage from datahrei Restreamer][11]
|
|||
|
|
|||
|
发布服务是重新传输内容的一个好方法。对于流行的网站,如 YouTube、Twitch 或 PeerTube,有许多现成的模块。同样,对于其他流媒体软件,对流行的 CDN 也是如此。对视频协议的完全控制允许流式传输到所有支持 RTMP、HLS 和 SRT 的目标地址。一个带有视频播放器的 HTML 片段代码在网页上工作。
|
|||
|
|
|||
|
![Presets for publication services][12]
|
|||
|
|
|||
|
### 使用树莓派播放流媒体节省电力
|
|||
|
|
|||
|
这篇文章展示了如何将树莓派变成一个流媒体服务器。树莓派平台允许你以省电的方式与各种视频信号互动。预先的设置使配置服务器变得很容易,高级用户可以对系统进行一些调整。你可以用它来做重播,在网站上托管实时流式传输,或使用 [OBS][13] 集成到系统环境中。使用不同的视频源和传输协议作为项目的基础,提供了极大的灵活性,使这个系统具有高度的可定制性。此外,带有 FFmpeg 的 datarhei Core 使软件开发者很容易扩展所有的应用进程。
|
|||
|
|
|||
|
该程序将树莓派变成一个专门的流媒体服务器。你可以独立地直播到网站或多路直播到不同的视频网络,而无需额外的视频提供商。
|
|||
|
|
|||
|
使用登录名 **admin** 和密码 **demo** 在项目网站上安装之前测试功能齐全的 [demo][14]。
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
via: https://opensource.com/article/23/3/raspberry-pi-streaming-server
|
|||
|
|
|||
|
作者:[Sven Erbeck][a]
|
|||
|
选题:[lkxed][b]
|
|||
|
译者:[geekpi](https://github.com/geekpi)
|
|||
|
校对:[校对者ID](https://github.com/校对者ID)
|
|||
|
|
|||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|||
|
|
|||
|
[a]: https://opensource.com/users/erbeck
|
|||
|
[b]: https://github.com/lkxed/
|
|||
|
[1]: https://docs.datarhei.com/restreamer/installing/windows
|
|||
|
[2]: https://docs.datarhei.com/restreamer/installing/linux
|
|||
|
[3]: https://docs.datarhei.com/restreamer/installing/mac
|
|||
|
[4]: https://github.com/datarhei/restreamer
|
|||
|
[5]: https://github.com/datarhei/core
|
|||
|
[6]: https://github.com/datarhei/restreamer/blob/2.x/LICENSE
|
|||
|
[7]: http://device-ip:8181/ui
|
|||
|
[8]: https://opensource.com/sites/default/files/2023-01/fig2-first-login-datarhei.jpg
|
|||
|
[9]: https://opensource.com/sites/default/files/2023-01/fig1-title-dashboard-datarhei.jpg
|
|||
|
[10]: https://demo.datarhei.com/
|
|||
|
[11]: https://opensource.com/sites/default/files/2023-01/fig3-int-publication-website-datarhei.jpg
|
|||
|
[12]: https://opensource.com/sites/default/files/2023-01/fig4-preset-publication-services-datarhei.jpg
|
|||
|
[13]: https://opensource.com/article/20/6/obs-websockets-streaming
|
|||
|
[14]: https://demo.datarhei.com/ui
|