MPlayer youtube script: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(simplify url test)
No edit summary
Line 14: Line 14:
#!/bin/bash
#!/bin/bash


URL="$1"
if [ -z "$1" ]; then
 
        echo "No URL!"
if [ "${URL#http://}" = "$URL" ]
        exit
then
    echo "usage: $0 <youtube-URL> [mplayer args ...]"
    exit
fi
fi


url=$1
shift
shift


echo \"http://www.youtube.com/get_video?video_id=$(wget -q -O - "$URL"                    \
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 $*
                                                  | sed -e '/fullscreenUrl/!d'           \
 
                                                        -e "s/.*video_id=\([^']*\).*/\1/" \
###
                                                        -e 's/ /_/g'                      \
# 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.;
                                                  )\"                                      \
 
| xargs mplayer "$@"
#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).
 
</pre>
</pre>


created by enouf and n3kl and amphi
created by enouf and n3kl and amphi


modified by Elte
RE-modified by enouf

Revision as of 15:23, 15 August 2008

bash script for playing youtube videos

  1. save it as youtube.sh
  2. chmod +x youtube.sh
  3. place it somewhere in PATH (like /usr/local/bin )

Usage:

#!/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