このような感じで、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を実行して再生してみましたが、とりあえず視聴する目的でしたら、シークもできて快適に視聴できそうです。
ファイル名は正しく日本語で表示されますが、字幕や番組名は文字化けしますのでご注意下さい。
録画コンテンツの視聴手段を増やす感じで、宜しければお試し下さいませ。