!/bin/bash
# (c) 2009 Vitel GPL v3
if [ $# -lt 2 ]
then
echo "Usage: $0 site video_id [handler [options]]"
exit
fi
SITE=$1
shift
VIDEO_ID=$1
shift
if [ -z $1 ]
then
HANDLER=mplayer
else
HANDLER=$1
shift
fi
case "$SITE" in
yt|youtube|youtube.com)
# null - fvl, 18 - mp4, 22 - hd
FMT=18
TOKEN=$(wget -q -O - "http://www.youtube.com/get_video_info?&video_id=$VIDEO_ID" | \
sed -e 's/.*&token=([^&]*).*/\1/' | \
perl -pe "s/%(..)/chr(hex(\$1))/eg" \
)
DL_URL="http://www.youtube.com/get_video?video_id=$VIDEO_ID&fmt=$FMT&t=$TOKEN"
;;
vm|vimeo|vimeo.com)
VIDEO_XML=$(wget -q -O - "http://www.vimeo.com/moogaloop/load/clip:$VIDEO_ID")
SIGNATURE=$(echo $VIDEO_XML | sed -e 's/^.*<request_signature>([^<]*)<.*$/\1/g')
SIGNATURE_EXPIRES=$(echo $VIDEO_XML | sed -e 's/^.*<request_signature_expires>([^<]*)<.*$/\1/g')
DL_URL="http://www.vimeo.com/moogaloop/play/clip:$VIDEO_ID/$SIGNATURE/$SIGNATURE_EXPIRES/?q=sd"
;;
*)
echo "Unknown site '$SITE'"
exit 1;
;;
esac
echo $DL_URL | xargs $HANDLER "$@"