BLOG.tass.io

omxplayerのCUI Frontendを作ったメモ

2014-12-28

諸事あって療養中なので、すみません、ちゃんとした記事は書けませんでした(T_T) とはいえ10月から毎週更新しているので、何かしら…ということで、最近Raspberry Piで遊んだ内容をメモ程度に残しておきます。

欲しかったもの

  • HDDに録りためてある動画をTVの大画面で見れたらいいなー
  • →それなら、余ってるRaspberry Piが使えるんでね?

構想

  • RaspでDNLAサーバを立ててTranscodingするのは、スペック的に無理そう
  • Raspで動画再生するのはomxplayerが最適化されていて良さそう
  • Xで起動してTBOPlayerで再生…も、いちいちGUI操作するのが面倒
  • いっそ、sshからomxplayerを操作するコマンドラインアプリがあればいいのでは?
  • 希望に会うものは無さ気?
  • じゃあ作ろう!

作った

  • npmにも登録してみた https://www.npmjs.com/package/omxfinder
  • npm install omxfinder -g でインストールして、ターミナルからomxfinderで起動
  • .omxfinderファイルに、動画ディレクトリのルートのパスを設定しておけば、CLIでパスをたどって再生する動画を選択可能
  • ディレクトリ単位での連続再生も可能
  • omxplayerの操作はomxdirectorにお任せ
  • CLIアプリ部分はinquirerにお任せ。(yeomanにも使われているCLI)

メモ

  • omxplayerの omxplayer_0.3.6~git20141024~98982df_armhf.deb だと、ランダムにハングアップする不具合が頻発
  • 最新のソースでは改修されているっぽいので、Rasp上で自前ビルド
  • popcornmixさんのが良さ気でした

以下、omxplayerのビルドメモ

 git clone https://github.com/popcornmix/omxplayer
 cd omxplayer
 ./prepare-native-raspbian.sh
 raspi-config # ffmpegをビルドする時は、[Advanced Options]-[memory_split]でメモリ割当を64MB → 16MBに変更
 make ffmpeg # <= だいたい2時間くらいビルドにかかった…
 raspi-config # 本体をビルドする時は、[Advanced Options]-[memory_split]でメモリ割当を16MB → 64MBに戻す
 make  # <= こっちは15分くらいでビルド完了
 sudo make install

// Raspberry Pi上でffmpegをビルドするのはやっぱキツかったので、今度はクロスコンパイルしようかな


Michael Kuroneko

Written by Michael Kuroneko. Follow me on twitter, github.