LoginSignup
1
1

More than 3 years have passed since last update.

Centos8 + Universal Media Server で家庭内音楽サーバを作成

Last updated at Posted at 2020-09-07

構成

  • [サーバ] Centos8 + Universal Media Server (UMS)
  • [クライアント]
    • 古い Android 携帯 + foobar2000 mobile + 古いミニコンポ (音楽を聴く)
    • iPhone + foobar2000 mobile (音楽を聴く)
    • DLNA対応テレビ (REGZA) (動画を見る)

仮想マシン作成

$ sudo dnf install virt-manager
$ systemctl is-enabled libvirtd
enabled

gui で仮想マシンマネージャー起動
新しい仮想マシンを作成

ローカルのインストールメディア(ISOイメージまたはCDーROMドライブ)
-> こちら1からダウンロードしたisoイメージ選択 (CentOS-8.2.2004-x86_64-dvd1.iso)

  • Memory: 2048
  • CPU: 2
  • 仮想マシン用にディスクイメージを作成する -> 必要な容量を指定
  • ネットワークの選択
    • ホストデバイス xxxxxx (enp6s0 など) : macvtap
    • ソースモード: Bridge
  • インストール先
    • 手動パーティション設定
      • swap : 2 GiB
      • /boot : 1024 MiB
      • / : のこり全部
  • ネットワーク設定
    • Ethernet: オン
    • IPv4設定
      • メソッド: 手動
      • 固定IPを指定 ex)192.168.xxx.xxx

仮想マシンに UMS インストール

dependencies インストール 2

$ sudo dnf install epel-release
$ sudo dnf install java-1.8.0-openjdk

mediainfo 入れるには PowerTools レポジトリ有効化必要

$ dnf repolist all
repo id                        repo の名前                                状態
AppStream                      CentOS-8 - AppStream                       有効化
AppStream-source               CentOS-8 - AppStream Sources               無効化
BaseOS                         CentOS-8 - Base                            有効化
....
PowerTools                     CentOS-8 - PowerTools                      無効化
....

$ sudo vi /etc/yum.repos.d/CentOS-PowerTools.repo 
CentOS-PowerTools.repo
....
#enabled=0
enabled=1
....
$ dnf repolist all
repo id                        repo の名前                                状態
AppStream                      CentOS-8 - AppStream                       有効化
AppStream-source               CentOS-8 - AppStream Sources               無効化
BaseOS                         CentOS-8 - Base                            有効化
....
PowerTools                     CentOS-8 - PowerTools                      有効化
....

$ sudo dnf install mediainfo

オプションの DCRaw, VLC, tsMuXeR, P7Zip は内容もわからないので保留。なにか問題が起きたら考える。

UMS インストール3

公式サイト Universal Media Serverから UMS をダウンロード

展開、/optに配置

$ tar -zxvf UMS-9.8.0-x86_64.tgz ums-9.8.0/
$ sudo mv ums-9.8.0/ /opt/

シンボリックリンク

$ sudo ln -s /opt/ums-9.8.0/ /opt/ums

/etc/ums を作成してconfigファイルをコピー

$ sudo mkdir /etc/ums
$ sudo cp /opt/ums/UMS.conf /opt/ums/WEB.conf /etc/ums

ユーザ作成、ファイル所有者変更

$ sudo useradd -s /sbin/nologin ums
$ sudo chown -R ums:ums /opt/ums-9.8.0/
$ sudo chown -R ums:ums /etc/ums/

shared folder 作成、所有者変更

$ sudo mkdir /home/ums/Music
$ sudo mkdir /home/ums/Videos
$ sudo mkdir /home/ums/Picture
$ sudo chown -R ums:ums /home/ums/

サービス登録用ファイル

$ sudo vi /etc/systemd/system/ums.service
ums.service
[Unit]
Description=Universal Media Server

[Service]
Type=simple
Environment="UMS_PROFILE=/etc/ums/UMS.conf"
User=ums
Group=ums
ExecStart=/bin/bash /opt/ums/UMS.sh

[Install]
WantedBy=multi-user.target

configファイル編集

$ sudo vi /etc/ums/UMS.conf 
UMS.conf
# (4行だけ編集)
....
# (クライアントに表示する名前)
server_name = xxx xxx xxx  
....
minimized = true
....
# インタフェース名。enp1s0 など
network_interface = xxxxxx  
....
# 公開するフォルダ
folders = /home/ums/Music, /home/ums/Pictures, /home/ums/Videos  
....

サービス起動、登録

$ sudo systemctl start ums
$ sudo systemctl enable ums

ファイアウォールにサービスを登録。使う port は 5001, 9001。

$ sudo vi /usr/lib/firewalld/services/ums.xml 
ums.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>UMS</short>
  <description>Universal Media Server</description>
  <port protocol="tcp" port="5001"/>
  <port protocol="tcp" port="9001"/>
</service>
$ sudo firewall-cmd --add-service=ums --zone=public --permanent
$ sudo firewall-cmd --reload              

使いたいクライアント用の config ファイルを用意

foobar2000 mobile 用の config ファイル

/opt/ums/renderers/ の中の適当なファイルをコピーして foobar2000_mobile.conf をつくる
細かいところは適当。問題が起きたら考える。

$ sudo cp /opt/ums/renderers/xxx.conf /opt/ums/renderers/foobar2000_mobile.conf
$ sudo vi /opt/ums/renderers/foobar2000_mobile.conf
foobar2000_mobile.conf
#----------------------------------------------------------------------------
# Profile for foobar2000 mobile.
# See DefaultRenderer.conf for descriptions of all the available options.
#

RendererName = foobar2000-mobile 
# Use the built-in factory icon
RendererIcon =

# ============================================================================
# This renderer has sent the following string/s:
#
# User-Agent: foobar2000-mobile/1.x
# ============================================================================
#

UserAgentSearch = foobar2000-mobile
UpnpDetailsSearch = foobar2000-mobile

Video = false
Audio = true
Image = false

#DefaultVBVBufSize = true
#H264Level41Limited = false
MediaInfo = true
#MuxDTSToMpeg = true
TranscodeAudio = WAV
#TranscodeFastStart = true

# Supported audio formats:
Supported = f:aiff                      m:audio/aiff
Supported = f:flac                      m:audio/flac
Supported = f:m4a|3ga   a:alac          m:audio/x-m4a
Supported = f:m4a|3ga   a:aac-lc|he-aac m:audio/x-m4a
Supported = f:m4a|mp4                   m:audio/mp4
Supported = f:mpc                       m:audio/x-musepack
Supported = f:mp3                       m:audio/mpeg
Supported = f:opus                      m:audio/opus
Supported = f:wav                       m:audio/wav
Supported = f:wavpack                   m:audio/x-wavpack
#Supported = f:adts      a:aac-lc|he-aac m:audio/aac
$ sudo chown ums:ums /opt/ums/renderers/foobar2000_mobile.conf

regza 用configファイル

https://sourceforge.net/projects/pmsforregza/files/Config/for%20UMS/
から REGZA.conf をダウンロードして renderers に配置

$ sudo mv Downloads/REGZA.conf /opt/ums/renderers/
$ sudo chown -R ums:ums /opt/ums/renderers/
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1