Quando minha filha quer ver um desenho animado (como a série Smurfs) às vezes não quero abrir um youtube para mandar para o nosso Chromecast. O Chromecast tem vários endpoints HTTP, então criei uma função zsh para fazer isso. Só preciso do ID do vídeo.
# zshrc
ccyt() {
curl -H "Content-Type: application/json" \
http://192.168.1.103:8008/apps/YouTube \
-X POST \
-d "v=$1";
}
# bachrc
function ccyt {
curl -H "Content-Type: application/json" \
http://192.168.1.103:8008/apps/YouTube \
-X POST \
-d "v=$1";
}
Coloque-o em seu .zshrc (ou bashrc) e:
$ ccyt TRbNUu2LUOA
Extra: Pesquisa no Youtube
Um pouco mais. Portanto, essa função precisa de um videoID como parâmetro. Como posso obter o ID? Com uma ytsearch
função.
ytsearch() {
curl -s https://www.youtube.com/results\?search_query\=$@ | \
grep -o 'watch?v=[^"]*"[^>]*title="[^"]*' | \
sed -e 's/^watch\?v=\([^"]*\)".*title="\(.*\)/\1 \2/g'
}
Então eu procuro e jogo:
(clockwork) Ξ ~ → ytsearch hupikék törpikék
BtW1LRfdio4 Hupikék törpikék 8. 2008 - TELJES
zA0gCbI9bXk Hupikék törpikék 2. 2007 - TELJES
TRbNUu2LUOA HUPIKÉK TÖRPIKÉK 3 TELJES RAJZFILM
[ ... snip ... ]
pXvpVFBpj8k Hupikék Torpikék / DS / Modra 2.resz
(clockwork) Ξ ~ → ccyt TRbNUu2LUOA
(clockwork) Ξ ~ →