SSブログ

ラズパイ+UMS [Raspberry Pi]

多分,需要無いよね…って事で,やってみた(おい

録画PCに入れてあるUMSを超〜久々にアップデート… したのが事の始まり。 まぁ,いつもの "気まぐれ発動" です。 元々,ラズパイでNASっぽい事は無理って決めつけていたので,試す気も無かったのですが,『4Bではどうだろう?』って興味が,今回の燃料になってます。 ただ,今更,DLNAってどうなの? 需要あるの? ググっても今ひとつピンとこないし…

では,早速(ちょ待てぇ!!

ハードウエアは,あり物で…

  • Raspberry Pi4 (4GB)
  • 外付けHDD
    • 3.5inch 3TB
    • SATA-USB3ケース

と,実験なので,どこのご家庭にも有るモノで間に合わせます。

特に外付けHDDは,Windowsで使っていた物を,そのまま使用します。
動画ファイルなどの操作(配置)は,Windows上でやる方が楽チンなので,新規フォーマットもしません。
ただ,フォーマットがNTFSだったので,RaspiOSでNTFSを扱える様に,ntfs-3gを入れて対応します。
# Linuxカーネル 5.4で,exFATに対応した様なので,NTFSのntfs-3gだけ追加すればOK…らしいのだが,RaspiOSってそうでもない?

rpi4ums0.jpg

あくまで実験なので,いつも以上の やっつけ感です(笑


セットアップの流れは…

  1. Boot用SD作成
  2. Update & Upgrade, OS setup
    1. raspi-configやら
    2. ntfs-3g, ffmpeg 追加
    3. 外付けHDDをマウント などなど
  3. UMSのセットアップ
    1. 依存関係
    2. UMS インストール
    3. 設定などなど
  4. 動作確認
    1. PS3で…
    2. VLCで…

な感じ

1〜2はいつもの作業なので,まぁ適当に(笑
HWエンコードを試したかったので,ffmpegを入れますが,aptで入るもので動くっぽいです。


で,実際どうなの?

やはり実機で確認… って言う事で,久々にPS3(Slim)の電源を入れました(笑

実験する前,漠然とダメなんだろうな〜って,思っていたのですが…

意外とちゃんと動く。。。

  • XMBの操作に違和感なし。高レスポンス。
  • 逐次生成なサムネの表示,言うほど遅くない。 意外とガンバっている。

で,再生の方は…

トランスコードなしは… 問題無し。

  • TSやMP4を垂れ流すだけなので,CPUは10%程度
  • 再生開始,早送り巻き戻し早戻しなどの操作も高レスポンス!ストレスフリー!
  • クライアント2,3台なら大丈夫(な感じ)

トランスコードありは… ちょっと

  • SWで,CPU 常時 250%以上,しかも動画はしょっ中,止まるので実用不可。
  • HW(h264_omx)を使って 〜150% 程度,動画が途切れたりする事もなく安定。
  • でも,クライアントは1台が限界(笑
  • トラコンすると早送りや早戻しとか出来ない… 実行すると色々死ぬ(笑),これは結構痛い。

そういえば,昔むかし,録画したTSファイルをUMS+PS3で視聴していた頃,UMSを動かしたPCが非力な上,早送りや早戻しもしたかったので,トラコン無しで運用してたっけ。。。


感想

4Bでやっと 使える ってところまで来たって感じです。

外付けHDDをぶら下げて "ラズパイでNAS" ってネタ,古くからありますが,3B+まではUSBやLANがボトルネックになり "ちっ,使えね" って感じでしたが,4BではUSB3になり,その点に関しては大分改善されています。
# あ,あと有線LANのスループット強化も…
DLNAサーバーとしても,外付けHDDにソースを格納するので,同様に有意に働いている様です。

トラコンに関しては,従来でも HW Encode が使えていたけど,USBやLANの遅さがアダとなり,十分な効果が望めていない感じでした。 それも,ボトルネック解消で "使える" 感じになっています。
# と,言ってもクライアントは1台が限界ですけど(笑


"ラズパイでNAS,時々DLNA" は,条件さえ合えば 有り… かな。

  • 取り急ぎ(仮設で良いので),HDDをNAS化したい。
  • クライアントがCIFS/SMBを扱えず,DLNAのみ。
  • 『クライアント数=自分だけ』くらい,小規模運用。
  • 単に やってみたい

で,いつも通り,『当方,これ使うか?』 ですが。。。

まぁ今回は,実験なので継続使用しません(笑
NASやら何やらは,すでに大量にあるし…


ご参考

ざっくり手順。(UMSを入れるところから,Userは "pi" で行ってます)
# って,これをメインにする様なブログが多いのに,当ブログは『ご参考』です(笑


依存関係 インストール

$ sudo apt update && sudo apt upgrade -y
$ sudo apt install -y ntfs-3g exfat-fuse # 要不要は,外付けHDDに依る
$ sudo apt install -y openjdk-8-jre mediainfo dcraw vlc p7zip # ちょっと長い…10分位?
$ sudo apt install -y ffmpeg # HW Encodeするなら必要

UMSインストール (/opt以下に設置,バージョンは要確認!)

$ cd /opt
$ sudo wget --trust-server-names https://sourceforge.net/projects/unimediaserver/files/10.5.0/UMS-10.5.0-armhf.tgz/download
$ sudo tar -xvzf UMS-10.5.0-armhf.tgz
$ sudo ln -fs ums-10.5.0 ums # update時,上書きしない様に…
$ sudo rm UMS-*.tgz

一度UMSを起動して,設定ファイルなどを作らせます。(起動後,すぐにCtrl+Cで止めてOK)

$ cd ums
$ ./UMS.sh # UMS起動!
$ ^c

設定ファイルを修正 (最低限,公開するディレクトリを記述する)

$ sudo nano ~/.config/UMS/UMS.conf

  # 以下3行は,UMS起動時に勝手に追加される(た)ので,記述不要。
  uuid = 1dfeb920-ddca-4291-a9c4-bdc5059e60db
  ffmpeg_available_gpu_acceleration_methods = none,auto,vdpau,vaapi,drm,rpi
  cred.path = /home/pi/.config/UMS/UMS.cred

  # 公開ディレクトリ
  # 設定したフォルダには,実行ユーザーに読み取り権限を付ける事
  folders = /path/to/video, /path/to/music, /path/to/picture

UMSをサービス化

$ sudo tee -a /etc/systemd/system/ums.service <<_EOF_

中身(以下コピペ)

[Unit] Description=Universal Media Server After=network.target [Service] ExecStart=/opt/ums/UMS.sh ExecStop=/bin/kill -INT $MAINPID ExecReload=/bin/kill -HUP $MAINPID Type=simple User=pi [Install] WantedBy=multi-user.target _EOF_

サービス有効化,起動,起動確認

$ sudo systemctl enable ums.service # サービス有効化
$ sudo systemctl start ums.service  # 起動

$ systemctl status ums.service # 起動確認

 ums.service - Universal Media Server
   Loaded: loaded (/etc/systemd/system/ums.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-05-20 11:28:56 BST; 10s ago
 Main PID: 7308 (java)
    Tasks: 88 (limit: 4915)
   CGroup: /system.slice/ums.service
           ├─7308 java -Xmx1280M -Xss2048k -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djna.nosys=true -classpath
           ├─7431 ping -c 5 -s 1476 192.168.99.88
           ├─7436 ping -c 5 -s 1476 192.168.99.3
           ├─7442 ping -c 5 -s 1476 192.168.99.7
           ├─7448 ping -c 5 -s 1476 192.168.99.36
           └─7455 ping -c 5 -s 9100 192.168.99.78
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: Pragma: no-cache
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: INFO  11:29:02.146 [HTTPv2 Request Worker 8] Media renderer was not recognized. Possi
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: User-Agent: UMS/10.5.0 Windows10/10.0 UPnP/1.0 Cling/2.0
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: Cache-Control: no-cache
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: Pragma: no-cache
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: INFO  11:29:02.165 [HTTPv2 Request Worker 2] Media renderer was not recognized. Possi
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: User-Agent: LINUX UPnP/1.0 Denon-Heos/165840
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: INFO  11:29:02.180 [HTTPv2 Request Worker 3] Media renderer was not recognized. Possi
 5月 20 11:29:02 rpi4ums UMS.sh[7308]: User-Agent: LINUX UPnP/1.0 Denon-Heos/165840
 5月 20 11:29:03 rpi4ums UMS.sh[7308]: INFO  11:29:03.378 [main] Universal Media Server is now available for renderers to fi
lines 1-23/23 (END)

ご参考2

”短時間でサックっとやっつけ” するつもりが,色々はまってしまいました。
ハマりポイントは,主に,トラコンで使うffmpegのオプションと,その設定方法。
UMSを動作させる事自体は,そう難しくないです。

と,言ったものの…

Windows版などならGUIで設定を行えますが,RaspiOS LiteなのでCUI。
しかもUMSって設定項目が盛りだくさん(爆
真面目にやると日が暮れるので,最低限の設定を以下へ(注: 4B以外で試してません

ご参考:

UMS.conf

# 以下3行は,UMS起動時に勝手に追加される(た)ので,記述不要。 uuid = 1dfeb920-ddca-4291-a9c4-bdc5059e60db # 値は都度変化する ffmpeg_available_gpu_acceleration_methods = none,auto,vdpau,vaapi cred.path = /home/pi/.config/UMS/UMS.cred # クライアントに見せたいフォルダ(複数ある場合は","区切り) folders = /mnt/hdd0 network_interface = eth0 external_network =false language =ja audio_thumbnails_method = 0 hide_extensions = false show_media_library_folder = false show_transcode_folder =false resume = false # トラコンなしなら disable_subtitles = true disable_transcode_for_extensions =ts,m2ts,mp4,m4v # トラコンありなら #TranscodeVideo = MPEGTS-H264-AC3 #TranscodeExtensions = mkv,flv,mpg,mpeg,mp4,webm,3gp,m4v,avi,mov,qt,wmv,asf,ts,m2t,m2ts #CustomFFmpegOptions = -preset veryfast -c:a aac -ab 320K -c:v h264_omx -b:v 20000k -maxrate 20000k -minrate 20000k -bufsize 10000k # 以下は要らんかも… alternativeffmpegpath = /usr/bin/ffmpeg


コメント(0) 
共通テーマ:趣味・カルチャー

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。