それマグで!

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

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

Raspberry Pi のomxplayerで手軽にyoutubeを再生する

youtube 動画をパパっと再生できたら便利ですよね。

play_youtube https://www.youtube.com/watch?v=meThrx0zEEE

とかやりたい

youtube のURLから動画のURLが取得できればいいわけで

URLはyoutube-dl から取得できる

youtube-dl -J $1  | jq -r '.formats| .[] | select( .ext | contains("mp4") ) | select( .width >= 640 ) | .url '

jq はもちろん、フィルタとして検索条件に使えるので便利ですよね。

jq は便利なので、youtube-dl 結果から動画のURLを取得する

文字列のquoteを外す

jq -r 

文字列を持つObjectだけを絞り込む

オブジェクトの配列から、条件に一致するものに絞り込む

jq .[] |  select( .ext | contains("mp4") )

数字も使える。

jq .[] |  select( .width > 100 )

配列の末尾を取り出す

jq .... [length -1 ]

length - 1 で取得できる

jq 便利ですねぇ。

パパっとコマンド作る

#/bin/bash

omxplayer $(youtube-dl -J $1  | jq -r '.formats| .[] | select( .ext | contains("mp4") ) | select( .width >= 640 ) | .url ')

でもこれじゃ、コントロール聞かないんですよね。そのうち改良しよう