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 ')
でもこれじゃ、コントロール聞かないんですよね。そのうち改良しよう