如果 需要一个功能强大且易于使用的流媒体解决方案,那么 Subsonic 是作为远程音乐库、流媒体视频库绝佳选择。

Subsonic 可以让用户随时随地完全控制媒体,它具有许多实用功能,并附带适用于 Android 和 iOS 的应用程序,使其成为一个多功能媒体的服务器。

在教程中,我们将在 Debian 系统上实现 Subsonic 的完整安装、配置和优化,并提供安全性和性能方面的最佳实践。

为何要选择 Subsonic?

Subsonic 是一款功能丰富的基于 Web 的媒体服务器,可以让用户:

  • 使用浏览器从任何设备访问全部收藏
  • 兼容 MP3、AAC、FLAC、OGG、WMA 等格式
  • 在 Android、iOS 和智能电视上控制和播放流媒体
  • 自动转换音频/视频格式以实现兼容性
  • 创建具有不同访问级别的多个用户
  • 直接从界面收听播客和网络广播

1] Debian 系统安装 Subsonic

在安装 Subsonic 之前,可以将系统组件更新至最新,以防止错误并确保兼容性。

# apt update && apt upgrade -y

接下来,安装所需的依赖项,例如 Java(用于运行)和 FFmpeg(用于音频/视频流):

# apt install openjdk-8-jre ffmpeg curl -y

对于高版本的 Debian,官方软件库中已经不包含 openjdk-8-jre,则使用如下命令使用第三方软件库并安装 openjdk-8-jre:

# wget http://www.mirbsd.org/~tg/Debs/sources.txt/wtf-bookworm.sources
# mkdir -p /etc/apt/sources.list.d
# mv wtf-bookworm.sources /etc/apt/sources.list.d/
# apt update
# apt install openjdk-8-jre -y

安装所需的依赖项后,使用 wget 命令从 >>官方网站<< 下载最新的 Subsonic .deb 包,下载完成后,使用 dpkg 命令进行安装:

# wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.6.deb
# dpkg -i subsonic-6.1.6.deb

安装成功后,Subsonic 就已经运行起来了,可以打开浏览器并访问它:

http://HOST_IP:4040

其中的”HOST_IP”是 Debian 主机的 IP 地址。

图.1 Subsonic 管理员登录页面

系统的默认密码为 admin,首次登录时,出于安全原因,系统会提示更改默认密码:

图.2 Subsonic 修改管理员密码

点击”Change administrator password.”链接,就会进入修改用户管理的密码修改页面,根据提示修改好密码后,点击”save”保存即可。如果未修改默认密码,会在登录页面一直显示提示信息。

点击”Settings”,选择”general”选项卡,将”Default language”设置为”中文(中国)”,就可以将界面显示为中文,方便使用:

图.3 Subsonic 设置中文界面

2] 配置媒体文件夹

Subsonic 需要知道音乐和视频等媒体文件存储在哪里,因此需要按照如下步骤添加媒体文件夹:

选择”设置”->”媒体文件夹”,进入媒体文件夹设置页面,设置好”名称”和”媒体文件夹”后,就完成了媒体文件夹的设置。可以设置多个媒体文件夹,用名称加以区分,而”媒体文件夹”则代表的是媒体文件保存在服务器的目录位置,示例使用”/Media/music”和”/Media/video”,最后点击保存以使设置生效。如果媒体文件夹不存在,则会在保存时提示”文件夹未找到“,修改为正确的目录地址即可。

媒体文件夹保存成功后,Subsonic 将自动在设定时间扫描文件夹并将媒体文件添加到其媒体库中。如果想以上添加媒体文件,则点击”现在扫描”就会把媒体文件添加到本地媒体库。

添加到媒体库中的文件,可以在标题栏的”Index”中显示出来。

3] 启用转码以实现兼容性

Subsonic 支持实时转码,以确保各种文件格式的流畅播放。

要启用转码,转到”设置”->”转码”,就可以为不同格式添加必要的转码命令,例如根据示例将众多音频格式统一转换为”mp3″格式,则进行如下操作:

  • 名称:设置转码命令的名称,示例使用 mp3 audio
  • 源格式:指媒体库中音频文件的后缀,示例设置为 ogg oga aac m4a flac wav wma aif aiff ape mpc shn
  • 目录格式:指转码后的文件格式,示例设置为 mp3
  • 步骤一:设置转码命令,示例为 ffmpeg -i %s -map 0:0 -b:a %bk -v 0 -f mp3 -,如需多步,则逐步设置命令

图.5 设置 Subsonic 实时转码命令

4] Subsonic 安全指引

现在 Subsonic 虽然可以正常工作了,但是其未启用 HTTPS,则存在安全隐患。可以使用 Nginx 或 Apache 等 Web 服务器作为 Subsonic 的反向代理,并让 Web 服务器启用域名证书即可实现 Subsonic 启用 HTTPS。

对于 Nginx 的配置内容如下:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:4040/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # Websocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Enable Gzip for better performance
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}

对于 Apache 的配置内容如下:

    ServerName yourdomain.com
    ServerAlias www.yourdomain.com

    ProxyRequests Off
    ProxyPass / http://127.0.0.1:4040/
    ProxyPassReverse / http://127.0.0.1:4040/

    
        Order deny,allow
        Allow from all
    

    ErrorLog ${APACHE_LOG_DIR}/subsonic_error.log
    CustomLog ${APACHE_LOG_DIR}/subsonic_access.log combined

示例中的”yourdomain.com”和”www.yourdomain.com”为 Subsonic 服务器的域名,实际使用根据情况自行修改为正确值。

Web 服务器及反向代理设置成功后,则安装 cert-bot 工具启用域名证书,实现 HTTPS:

# apt install certbot python3-certbot-nginx python3-certbot-apache -y
# certbot --nginx -d yourdomain.com -d www.yourdomain.com
OR
# certbot --apache -d yourdomain.com -d www.yourdomain.com

依照提示操作(您需要输入电子邮件以接收续订提醒),生成的域名证书将保存在 /etc/letsencrypt/live/yourdomain.com/ 中。

配置完成后,我们可以通过以下方式安全访问 Subsonic:

https://yourdomain.com

至于 Subsonic 的使用,Subsonic 提供专用的移动应用程序,让用户随时随地无缝播放媒体。应用程序提供流畅直观的界面,方便用户使用。移动端应用可以在相应商店中获取,本次教程不再过多展示。

Subsonic 为传统流媒体平台提供了功能丰富的强大替代方案。无论是流式传输音频还是视频,它都能提供安全、用户友好的体验,并具有卓越的媒体管理、转码和远程访问功能。

使用 Subsonic,我们就可以随时随地享受自己喜爱的媒体,使其成为家庭和企业使用的完美媒体服务器。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注