UPnP媒体服务器Gerbera

什么是 Gerbera ?

Gerbera 是一款功能丰富且功能强大的 UPnP 媒体服务器,允许用户通过家庭网络传输数字媒体(视频,图像,音频等),并支持不同类型的 UPnP 兼容设备,包括智能电视,机顶盒,Playstation ,Android 和 iOS 手机以及平板电脑等。

什么是 DLNA ?

DLNA(DIGITAL LIVING NETWORK ALLIANCE,数字生活网络联盟) 其前身是 DHWG (Digital Home Working Group,数字家庭工作组),成立于2003年6月24 日,是由索尼、英特尔、微软等发起成立的一个非营利性的、合作性质的商业组织。DLNA 旨在解决个人 PC ,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。 DLNA 并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是当前所应用很广泛的技术和协议。而 UPnP 就是其中一个主要的协议。

什么是 UPnP ?

通用即插即用(英语:Universal Plug and Play,简称 UPnP )是由“通用即插即用论坛” (UPnP™ Forum)推广的一套网络协议。 该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 gerbera ,选择第一个 gerbera/gerbera,版本选择 latest

title

docker 文件夹中,创建一个新文件夹,将其命名为 gerbera ,当然也可以指向一个多媒体文件存放的目录。

文件夹 装载路径 说明
docker/gerbera /content 多媒体文件存放目录

建议将 /content 设置为只读

title

网络 & 端口

默认情况下,端口 49494/tcp(HTTP)和 1900/udp(SSDP组播)是公开的

UPnP 依赖于使客户端和服务器能够通过 IP 组播进行通信。默认的 docker bridge 网络设置不支持多播。实现此目的的最简单方法是 使用与Docker Host相同的网络

title

不需要再设置端口

title

运行

在浏览器中输入 http://群晖IP:49494,就能看到主界面了

title

Database

title

File System 则是另一种展示方式

title

Clients 可以看到客户端连接的情况

title

Config 设置的显示分为3种模式,分别是 MinimalStandardExpert

  • Minimal

一些最基础的设置项

title

  • Standard

相比 Minimal 模式,Standard 模式多了 StorageUIScripting 设置

title

  • Expert

相比 Standard 模式,Expert 模式又多了 TranscodingClient Detection 设置

title

可能会遇到的异常

很奇怪在某些情况下,在 Google Chrome 浏览器中会一直显示

title

或者

title

但是同一台机器上换成 Microsoft Edge 就完全正常了,或者换成另一台机器上 Google Chrome 浏览器也是正常的。

好在 Web 并不是重点,我没有改变任何设置,唯一可能用得上的应该是转码,将媒体转换成设备支持的格式,但我并没尝试,有兴趣的可以自己试试。

使用

Windows 平台

除了系统的资源管理器外,还可以在 Microsoft Store 中搜索 dlna browser

title

这是个免费的应用,下图中上面那个就是刚安装的 Gerbera 服务器,下面那个 OTCloud 熟悉的朋友应该一眼就知道这货是 玩客云

支持和 Web 上一样逐级展开

title

内置播放器,支持直接播放

title

Android 平台

Android 平台上支持 UPnP/DLNA 的 APP 还是很多的,简单推荐几个,至于哪个适合您,只能根据您的需求进行验证了。

BubbleUPnP

BubbleUPnP 是用的比较多的一款 Android APP,即是客户端也是 UPnP 流媒体服务器,当它启动后,你可以在 DLNA Browser 发现多了

title

在 BubbleUPnP 中 找到 Library,可以扫描到局域网中的 UPnP 服务器

title

nPlayer

在网络中选择 UPnP/DLNA

title

威动影音

国人开发的,支持内置播放器

title

总结

其实支持 UPnP/DLNA 的服务端还是很多的,包括我们常用的 Plex、Emby、Jellyfin ,我看了下我用的 Jellyfin ,里面有 DLNA 的设置界面

所以个人觉得没必要单独装一个 UPnP 服务。

参考文档

gerbera/gerbera: UPnP Media Server for 2021
地址:https://github.com/gerbera/gerbera

Gerbera - A free media server. Stream your media to devices on your home network.
地址:https://gerbera.io/