MPlayer youtube script: Difference between revisions
Jump to navigation
Jump to search
m (beautify) |
(Or just use youtube-dl...) |
||
Line 68: | Line 68: | ||
| xargs mplayer "$@" | | xargs mplayer "$@" | ||
</pre> | </pre> | ||
===Or just use youtube-dl=== | |||
Available in almost all Linux distributions. | |||
Usage: | |||
mplayer $(youtube-dl -g http://www.youtube.com/watch?v=.....) |
Revision as of 12:21, 30 December 2009
bash script for playing youtube videos
- save it as youtube.sh
- chmod +x youtube.sh
- place it somewhere in PATH (like /usr/local/bin )
Usage:
- youtube.sh <url> [mplayer args]
- youtube.sh http://www.youtube.com/watch?v=example -dumpstream -dumpfile something.flv
- youtube.sh http://www.youtube.com/watch?v=example -aspect 16:9
- youtube.sh http://www.youtube.com/watch?v=example -xy 2
#!/bin/bash if [ -z "$1" ]; then echo "No URL!" exit fi url=$1 shift echo \"http://www.youtube.com/get_video?video_id=`wget -q -O - $url | grep fullscreenUrl | awk -F'video_id=' '{ print $2 }' | sed -e 's/ /_/g' | tr -d \'\; `\" | xargs mplayer $* ### # The scipt above grabs the html source to the real stream (the .flv file), which youtube constantly alters. The "http://www.youtube.com/get_video?video_id=" is always the prefix -- and the script uses wget to d/l and append the rest of the 'full' url (which is very long and stupid).. an ex.; #mplayer #"http://www.youtube.com/get_video?video_id=L2SED6sewRw&l=2965&sk=GOT2L_qmpVJOx0w#rud5ycdyuWziPg1lcC&fmt_map=6%2F720000%2F7%2F0%2F0&t=OEgsToPDskLlf4ls3xB6V84dMYLu#ndws&hl=en&plid=AARTXK76vCTnvQ5#JAAAC6ADCAAA&sdetail=rv%253AL2S#ED6sewRw&tk=P4Lg#O65y-u5BllZJBsB_e2Gw-OVgaMp4a8prsHTahDhuPN_xsReW2Q%3D%3D&title=Greg Kroah # Hartman on the Linux Kernel" # as you can see, there are blank spaces also that need to be cleaned up (blank # # spaces replaced with underscores).
created by enouf and n3kl and amphi
RE-modified by enouf
Alternative Version
Here is an alternative version by Elte.
The differences are
- fewer programm calls
- less shell pipes
- no dependency on grep, awk or tr
- supports double quotes in video url
This version is nevertheless heavily based on the previous script.
#!/bin/bash # © 2008,2009 Elte GPL V2.1 URL="$1" shift if [ "${URL#http://}" = "$URL" ] then echo "usage: $0 <youtube-URL> [mplayer args ...]" exit fi echo \"http://www.youtube.com/get_video?video_id=$(wget -q -O - "$URL" \ | sed -e '/fullscreenUrl/!d' \ -e "s/.*video_id=\([^']*\).*/\1/" \ -e 's/ /_/g' \ -e 's/\\\"/"/g' \ )\" \ | xargs mplayer "$@"
Or just use youtube-dl
Available in almost all Linux distributions. Usage: mplayer $(youtube-dl -g http://www.youtube.com/watch?v=.....)