Raspberry Pi 4でDLNAサーバを簡単起動するには Podman版

このような感じで、Raspberry Pi 4の録画サーバ内のコンテンツを、DLNAで配信できるようにしてみました。管理画面はこのような感じです。

Generic DLNAクライアントはWindows 10、UnknownのクライアントはiPhoneのVLCになります。「Raspberry Pi DLNA Server」の文字は、設定で好きな文字に変えられます。このようなかたちで、コンテンツの一覧表示も問題無さそうです。

構築手順を記録しておこうと思います。


Ubuntu 20.04.1 LTSのインストール

Raspberry Pi 4のOSですが。サーバとして長期間安定して使用できるように、microSDカードは使わず、USBストレージからUbuntuを起動しました。

メディアサーバということで。12TBはこの価格帯ですか。ふむふむ。って、2TB超えるとRaspberry Piから直接起動できるか不安ですが・・・


Podmanのインストール

こちらの手順でPodmanをインストールします。

dockerでも動かせると思いますが。Raspberry Piということで、より軽量なPodmanで動かそうと思います。


ReadyMediaコンテナイメージ

Raspberry Pi 4の64ビット版で動かしたいということで。

こちらのコンテナイメージを使用させて頂きました。

ReadyMediaは、以前はMiniDLNAという名称だったようです。管理画面に昔の名前が残っていたりします。


ReadyMedia起動用kubeneters pod.yaml

※21.1.31追記:

Podmanのバージョンアップの影響で、下記のYAMLファイルではポッドが正常に起動できない場合があります。

その場合、ポッドを手動で作成後、YAMLファイルを出力する必要が御座います。

手順は下記の記事を御覧ください。


ポッドの実行に使用する、Kubernetesのpod.yaml設定ファイルを作成します。

mkdir readymedia
cd readymedia
vi readymedia-pod.yaml

次の内容になります。

# Generation of Kubernetes YAML is still under development!
#
# Save the output of this file and use kubectl create -f to import
# it into Kubernetes.
#
# Created with podman-2.0.6
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2020-09-23T13:38:42Z"
  labels:
    app: readymedia-pod
  name: readymedia-pod
spec:
  hostNetwork: true
  containers:
  - name: readymedia-web
    env:
    - name: FRIENDLY_NAME
      value: Raspberry Pi DLNA Server
    - name: TCP_PORT
      value: "8200"
    - name: SERIAL
      value: "987654333"
    - name: VIDEO_DIR1
      value: /media
    image: docker.io/ypopovych/readymedia:latest
    ports:
    - containerPort: 8200
      hostPort: 8200
      protocol: TCP
    - containerPort: 1900
      hostPort: 1900
      protocol: UDP
    resources: {}
    securityContext:
      allowPrivilegeEscalation: true
      capabilities: {}
      privileged: false
      readOnlyRootFilesystem: false
      seLinuxOptions: {}
    volumeMounts:
    - mountPath: /media
      name: home-ubuntu-EPGStation-recorded
    - mountPath: /cache
      name: home-ubuntu-readymedia-cache
    workingDir: /
  volumes:
  - hostPath:
      path: /home/ubuntu/EPGStation/recorded
      type: Directory
    name: home-ubuntu-EPGStation-recorded
  - hostPath:
      path: /home/ubuntu/readymedia/cache
      type: Directory
    name: home-ubuntu-readymedia-cache
status: {}

ポイントですが。コンテナ内のVIDEO_DIR1パラメータ、/mediaディレクトリのマウント先として、録画システムの保存先ディレクトリを指定しています。

FRIENDLY_NAMEは、DLNAサーバの表示名になります。

ああ、それとSERIALは適当な値に変更してくださいね。


ReadyMedia起動

それではkubernetesを再生(play)してポッドを起動します。

sudo podman play kube ./redymedia-pod.yaml

特に問題なくポッドが起動して、希望のコンテナのダウンロード・実行されました。

管理画面へのアクセスは次のURLのようです。

http://<Raspberry PiのIPアドレス>:8200


DLNAサーバということで、地デジ対応テレビや一部のゲーム機等でRaspberry Piに蓄積したメディアを手軽に再生できるかと思います。

私はiPhoneでVLCを実行して再生してみましたが、とりあえず視聴する目的でしたら、シークもできて快適に視聴できそうです。

ファイル名は正しく日本語で表示されますが、字幕や番組名は文字化けしますのでご注意下さい。

録画コンテンツの視聴手段を増やす感じで、宜しければお試し下さいませ。

スポンサーリンク

フォローする

スポンサーリンク