====== Ubuntu - Youtube - Download a Youtube video ======
Youtube used to create temporary files in /tmp whenever a video was watched.
The temporary file, named similar to /tmp/FlashXX*/ remained there while the webpage was kept open.
To make a copy of the video was a simple task of copying the temporary file elsewhere:
cp /tmp/FlashXX* /videos_to_keep
However, newer versions of flash (since 10.2r152 in Linux) have changed that. The temporary file no longer exists.
The following bash script allows one to download a youtube video.
#!/bin/bash
#
# Download Youtube Video
#
# Two arguments
# $1 Youtube URL
# $2 You name for the video
#
wget -c --no-check-certificate --user-agent="" $1 -qO- | \
sed 's/\\u0026/\&/g'| \
awk '/fmt_url_map/{gsub(/[\|\"]/,"\n");print}' | \
sed -n "/^fmt_url_map/,/videoplayback/p" | \
sed -e :a -e '$q;N;2,$D;ba' | tr -d '\n' | \
sed -e "s/\(.*\),\(.\)\{1,3\}/\1/;s/\\\//g" | \
wget -c --no-check-certificate --user-agent="" -i - -O $2.flv
After putting in in a file and making it executable just go get your YouTube url and fire off the download. Here's an example.
./ytd.sh 'http://www.youtube.com/watch?v=J---aiyznGQ' keycat
This will make the file keycat.flv in your dir. Use a recent VLC or Mplayer to play the file.
Its very likely that this script will be out of date (broken) soon but hopefully it will be a good blueprint for anyone else in the future.