16:9な動画を流して展示する話が持ち上がり、従来使っていた動画再生ボックスもそろそろ更新するか?という話になったので、いい機会だからRaspberryPiで作ってみようかというのが発端です。
さすがに10年前の4:3映像を今でも流すのも何ですし、流しているテレビはすでにHDMIありの16:9画面なので、自分の頭の体操を兼ねてやって見た記録です。
aoshimak.hatenadiary.jp
条件は?
- 電気入れたら動画をぐるぐるさせたい。タイマーでブチッと切れたら次回再起動で手間なく管理したい。
- 全画面で動画を流すので、X動かなくても良い。コンソールで動画流れるならその方が良い。
- 動画の差し替えが簡単にできる仕組みを考えたい。
機種をどうするか?
RaspberryPi4が出たタイミングなのでもちろんこれにしたかったのですが、2020年6月時点だと諸々の問題点がありました。
動画をどう再生するか問題
- Raspi3/4は64bit対応OSが出てきたが、コンソール動画再生はVLCに変わっている。CPUパワーで押し切る形だが、動きは良い。ただし発熱すごい。
- vlcの場合のメリットとしては、m3u形式のプレイリストが使えて、それをループ再生できる。データ領域にplaylistを置いておき、それを指し示して-Lでループさせると便利。-Rだとプレイリストの先頭のものだけ繰り返すので1ファイルの繰り返しになってしまうので注意。
- Raspi1/2/3は従来の32bitOSを使えて、コンソール動画再生はomxplayerを使用する。素晴らしいライブラリだが、64bit環境には移植されない方向。発熱は少ない。
- omxplayerはRaspi1/2/3どれでも、用意した5分/45MBのmpeg4をぬるぬる再生できた。しかし、動画のローディングは機械のCPU能力に比例した。複数動画の切り替わりにはRaspi3の方が向いている。
動画をどう配置するか問題
- SDカードを使い捨てと割り切って、RaspiのSDカード内に専用区画を作って、そこに動画を置くことにした。
- 専用区画をFAT32にすることで、このSDカードをパソコンに差し込めば、目的の区画へのファイル出し入れは簡単に行えるようにした。
- 具体的には、32GBのSDを用意し、RaspiOSを書き込み直後、gpartedなどでOSエリアを後ろ16GBに移動拡張した。
- すると、boot領域の区画1と、後ろ16GBの区画2の間に、15GB強の領域が設定できる。ここをFAT32の区画3として確保する。(これもgpartedでやった)
- そのあと、RaspiOSを起動する。
- ディレクトリ/mnt/dataを作成する。ここにデータ領域をマウントさせたい。
- /etc/fstabに/dev/mmcblk0p3のマウント情報を書き足す。形式vfat、partuuidXXXXX-03としておくと楽。もちろん自動でマウントさせたい。(noautoつけない)
自動再生のためのお膳立て
- raspi-configで起動レベルをコンソール+自動ログインに設定。アカウントpiの自動ログイン。キーボード繋がないし、networkも繋がない、普段隠して置く展示機なのでこれで良い。
- アカウントpiの.bashircの末尾に、動画再生スクリプトの実行のために、sh movieplay.shみたいな行を足しておく。
- movieplay.shの内容は以下の通り。内容はここから拝借。
#!/bin/sh setterm -cursor off -blank 0 VIDEOPATH="動画ファイルのディレクトリ" SERVICE="omxplayer" while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else for entry in $VIDEOPATH/* do clear omxplayer --refresh -o both $entry > /dev/null done fi done
-
- キーボードも繋がないので、省電力設定が働いて表示が出なくなった。対策として、settermの行に-blank 0を足してある。
設置
- 最終的には手元に余っていたRaspi1(mpeg2アクセルコードあり)を利用することにした。
- コンセントにタイマーを置き、そこから延長コードで2口に分け、テレビとRaspiにつないだ。
- HDMIケーブルでRaspi-TVを接続
- SDカードを差し込んで、起動。
- 一定時刻になると再生を開始し、一定時刻になると電源が落ちる。
追記
- 結局Raspi4買っちゃったので、それはそれで、KODI用にセットしてみた記録
【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品
- メディア: エレクトロニクス
- HDMIケーブルがmicroHDMIになった。変換ケーブルで対応した。
- 電源がUSB-Cになった。microB-USBC変換コネクタで対応した。
- 電気を食うデバイスを使わないので、電源は従来から使っている2.1Aのものをそのまま使ったが、KODI動画再生には問題なかった。
- 2020年6月現在だと、LibreELEC−64bitではRaspi4のCEC対応がない。リモコンを別に用意することになる。今後の対応に期待して待ち。
- Raspi4は発熱がすごい。ファン導入も検討したが居間に置くので音が出るのはやめた。全身放熱フィンのようなケースを用意した。Amazonに似たようなのが多いので、日本国内から送られる物を探すと良い。*1
- 同じSDカードをRaspi3に差し込んでもLibreElec−64bitが起動した。こちらはCEC対応もあり、動画再生能力も向上した。32bitの時に比べて、NASにある生TSの倍速再生でストレスがなくなったので、今のところはこれでいいやということになった。
Raspberry Pi 3 Model B V1.2 (日本製) 国内正規代理店品
- 発売日: 2016/02/29
- メディア: Tools & Hardware