I was working my way through some FBSL (a scripting language)
scripts, and came across a "U-Tube Grabber" script, written
by Gerome Guillemin. Last week, everybody was talking about
the hottie pHilton video, so I tried out Gerome's script on
that. Sure enough, the script downloaded a "flv" (flash video)
file. Get PH4P here (current 15Aug08):
And so, how does one play that from script? I googled around,
and came up with a (free) video player, found on the "Web Design"
website, and authored by Steven Weber. That worked perfectly
well to play the video. But then, I started removing "extraneous
code", and "after-all-is-said-and-done", I was left with simply
ShockWaveFlash (am activeX control). The version I am using here
is version 9, but probably any recent version will do.
O.K., so you put the PH4P video file, an "swf" (shock-wave flash)
file and my (hta) script into a folder, try it and it doesn't work.
What happened? Turns out that the swf file is telling the SWF
actX control what video to play. I had to rename PH4P video file
to "video01.flv", then it _did_ work. Note that you shockwave
flash experts can probably use an swf editor to change the flv
My next step was to write this note, and post those three files
to this ng. WRONG!!! The ng server refused to upload the video
file because it was too long (2mb).
Uh-oh. What to do now? As you may already know, there is no
convenient right-click option on YouTube to download the video.
My first thought was to convert Gerome's FBSL script to vbs, so
that I could upload the converted vbs script and let people use
that to download a video file. I was able convert the download
-webpage part, but the download-video file part was done with api
calls to wininet.dll, and calling api's from vbs script is
something that "pure" scripters are not allowed to do. Then I
had another thought, there is an msInet.ocx (part of the vb
package) that is an actX control which is "supposed" to provide
vb programmers with an "easier" interface to wininet.dll than
calling api's. Sure enough, I was able to set that up and call
msInet.ocx from script -- but that didn't work. Apparently
msInet.ocx can not deal with a site which wishes to install
"cookies" on your system. In searching for a solution to that,
most vb experts I came across expressed the opinion that
msInet.ocx was cr*p, and recommend calling wininet.dll directly.
Back to the stating box.
And back to google. Searching for "rip youtube video" turns up
hundreds of responses (gasp!), and so one does not want for
solutions. So here we go:
Solution 1. If you are comfortable with FBSL (or willing to try)
then you can install the FBSL scripting language and run Gerome's
Solution 2. If you are a firefox browser user, then go to the
firefox addin page, and download and install the "DownloadHelper"
addin. Then browse over to your youtube page of choice, and wait
for the "video streaming" to finish (but not necessarily to finish
playing). When DownloadHelper detects a page with a video file,
it will lite-up and start bouncing around. You then click the
tiny down arrow next to the D.H. icon and it will give you a
drop-down menu of the videos found on the page. Click on the
one you want, and it will download it to your desktop.
Solution 3. If you are an IE browser user, go to your youtube
page of choice, and wait for the streaming to finish, same as above.
Then you can find the video file in your user "settings and documents"
path, in a folder found under: "Temporary Internet Files/Content.IE5/... ".
In that folder there will be several sub-folders with alpha-numeric
names. Use "find files" to search through those folders to get
your flash video (flv) file.
Solution 4. If none of the above is satisfactory, then back
to google, and use any of the hundreds of "youtube ripper"
utilities, you will find both free and for-sale utilities.
Got all that? O.K., so we are assuming now that you can get
a suitable video file, either PH4P, or one of your own choosing.
You must place all three files (hta, swf, flv) in the same
folder. Don't forget to change the filename of the video file
to video01.flv. Then run the hta. If all goes well, you will
see your video file playing in the hta dialog.
p.s. uh-oh. I noticed that I was using a vb statusbar control
on the hta page. If you don't happen to have that control
(chances are you DO), then you can just strip it out. If you
don't have the shockwave flash control, then I would be surprised.
There are sites all over the web with flash content, especially
new car sites, and you are constantly barraged with suggestions
to download the latest flash (shockwave flash) viewer.