それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

raspberry pi の omxplayer を標準入力でパイプして使う。

raspi の omxplayer が超便利。

便利なんだけど、パイプを受け付けてくれないので困る。なぜパイプを受け付けないのか?

omxplayer はキーボードから操作できるから。

キーボードから各種操作が出来るため、キーボードをSTDINに割り振っている。

そのため、標準入力から動画をインプットすることが出来ない。

ということは、キーボード入力を無効化するオプションが有るはず。

–no-keys オプション

マニュアルを見ると、見つかった。

--no-keys               Disable keyboard input (prevents hangs for certain TTYs)

キーボードを入力しないオプションを使えば、動画をパイプ経由で渡すことが可能だ。nokey ってのはキーボード

標準入力に動画を渡す

cat my-sample.mp4 | omxplayer --no-keys  pipe:0

pipe:0 が標準入力だからいけますね―。コレで勝てる

みたいだけなら、コレで行ける。

操作できないじゃん。

そうなんですよ。パイプで渡せても、キーボード入力を取れないので操作ができません。

仕方ない名前付きパイプだ。

mkfifo ./pipe0001
cat my.mp4 > ./pipe0001 &
omxplayer ./pipe0001

コレくらいしか解決方法はなさそう

シーク問題。

でもパイプを使うと、Seekが出来ないから不便だよ?

パイプで渡すと。シークできない。

そうなんですよ~、スキップ操作できないんですよね。コレは不便だよね。 パイプはその特性上後戻りができないファイルなのです・・・

なのでせっかくキーボードが使えるパイプで渡せても、巻き戻しなどが一切できない。とても不便です。

なのでomxplayer を使うときは、パイプよりHTTP経由にしましょう