0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズパイで実用的なストリーミングプレイヤーを作る(構築編)

Posted at

前回の記事

前回の記事はこちらを参照ください。

ラズパイで実用的なストリーミングプレイヤーを作る(構想編)
https://qiita.com/quni310/items/399ba2dd413fc5582f66

今回の記事は、エラーなどがなければ30分でおつりがきます。
Beagleboneにて再現確認しましたが、同様にできました。

OS選定

OSは、Raspberry PI Imagerアプリ(https://www.raspberrypi.com/software/)から、
ヘッダレス(GUIがないものとして、no desktop environmentとあるもの)を選択。

私は、Rasp4 2GBモデルを使っているので、64bitCPUの中で新しいものから選択。
raspi_imager.png

イメージファイルをSDカードに書き込んだら、ラズパイに挿入。
起動前にネットワーク上のデバイスをチェック(あとで増えたデバイスをわかりやすくするため。私はルータ上でチェックしてます。そしてルータにて固定IPの割り当てを行います。)

LANケーブルを差し、起動。
固定IPにSSHでアクセス。
(IPが不明な場合、AndroidのFingアプリ推奨)
(SSHの設定を忘れた場合、bootパーティションに、ファイル名SSHの空ファイルを作ればOK)

OS初期セットアップ

Raspberry PI Imagerにて設定したユーザでログイン(Teratermがお勧め)

まずはお約束

sudo apt update
sudo apt upgrade

DLNA Rendererインストール

DLNAレンダラの前提パッケージ・本体のインストール

sudo apt install gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gmediarender

DLNA Renderer設定

まず、USB DACのデバイスを確認。
2つ目に出ている Card 1、Device 0 が出力に指定したいデバイス。

aplay -l

#以下はBeagleboneでの例です。-----------------------------
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: davinci-mcasp.0-i2s-hifi i2s-hifi-0 [davinci-mcasp.0-i2s-hifi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

card 1: Pro [DX7 Pro], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

設定ファイルを、以下のように更新

sudo nano /etc/default/gmediarender

# 以下を追記。これは必須。
ENABLED=1

# DLNAコントローラから見える機器名を変える場合は以下を更新
UPNP_DEVICE_NAME="gmediarender on $(hostname)"

# ボリュームの初期値。小さすぎるので0にしておく
INITIAL_VOLUME_DB=0.0

# 出力デバイスの指定。aplay -lの結果に合わせる
# hw:カード番号,デバイス番号 で指定
ALSA_DEVICE="hw:1,0"

# エラー調査用にログを出力するようにしておく。安定してきたらなくてもOK
DAEMON_EXTRA_ARGS="--logfile /var/log/gmediarender.log"

サービスの自動起動の設定、サービス起動

# OS起動時にレンダラーサービスが自動起動するように設定
sudo systemctl enable gmediarender.service

# まだサービスは動いていないので起動
sudo systemctl start gmediarender.service

# サービスの起動確認
sudo systemctl status gmediarender.service

# 以下のように active(running) となっていればOK
gmediarender.service - LSB: Start GMediaRender
   Loaded: loaded (/etc/init.d/gmediarender; generated)
   Active: active (running) since Wed 2025-04-30 10:15:33 UTC; 55s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1444 ExecStart=/etc/init.d/gmediarender start (code=exited, status=0/
    Tasks: 13 (limit: 1026)
   Memory: 62.4M
   CGroup: /system.slice/gmediarender.service

あると便利な設定・もの

  • Teratermのログ設定。いつ・何をやったかの記録が残るので設定推奨。ただしキーボード操作がすべて残るので見づらいです。
    スクリーンショット 2025-04-03 184419.png

  • 信頼できるSDカード。安いSDカードはだめです。本当にすぐに壊れます。

  • RaspContoroller。Androidからラズパイを操作しやすいです。電源切り忘れたときなど便利。

  • ArgonOneV2,V3ケース。電源ボタン付きで便利。ラズパイは電源をブチ切すると、SDカードが壊れやすい為、必ずちゃんと電源を落とします。
    ラズパイでなく、beagleboneで本体のemmcを使用するとSDカードの問題はクリアになります。レスポンスは気持ち遅くなります。

余談

  • Raspberry PI Imagerで、WiFiなどの設定はできますが、なぜかうまくいかないことが多いです。信用せず、チェックするのがおすすめです。私は余計なものを動かしたくなく、有線でつなげやすい環境のため、WiFiは無効化してます。(WiFiやBluetoothは動かさないのが推奨)

  • gmediarenderは古くあまりメンテナンスされておらず、gmrender-resurrectが出ています。ただ私の環境ではgmrender-resurrectは安定しなかったので、gmediarenderに戻しました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?