YouTubeDL.mscr Ver5.26.2007

クリップボードにコピーされたYouTubeのURLを元に、YouTubeのビデオファイル(flv)を自動的にダウンロード&プレーヤー再生させるMortScript、YouTubeDL.mscrが公開されています。

(追記)バージョンアップに伴い、ちょこちょこ追記しています。

情報元の、2chのMortScriptスレから引用させて頂きます。

340 名前:1[] 投稿日:2007/05/27(日) 02:06:52 ID:zd4bHOg30
TCPMPでYouTubeのフラッシュビデオが再生出来る
プラグインが公開されたようなので、書いてみました。

「クリップボードにコピーされたYouTubeのURL( or ID) を元に
フラッシュビデオ(.flv)ファイルを自動的にダウンロードして
再生するスクリプト」のコード
http://home.att.ne.jp/wave/deox_pop/scripts/YouTubeDL.txt

ブラウザで開いているYouTubeの閲覧URLをコピーし、
スクリプトを起動するだけで、
自動的にプレイヤーアプリで再生可能になります。

<別途必要なファイル>
>>330の "MatchRep.mscr" ver.5.23.2007
>>324さんの"utf8sjis.exe"

※スクリプトファイルのコメントを必ず読んでね。
※YouTubeDownload.exeは必要ありません。

昨日、flv再生プラグインをご紹介した際に、コピーしたURLからflvダウンロード&自動再生させるツールかスクリプト出ないかな・・と書いた独り言には関係ないかもですが(^^;、早くもキター!というところ。さすがMortScriptスレの1氏。仕事が早すぎです。


多分、使い方については色々な方がわかりやすく丁寧に紹介されることと思いますが、一応(^^;、簡単に導入手順を一通り書いておきます。


TCPMPインストール

TCPMPをまだ導入されていない方は、aviさんのページからPocketPC 用をダウンロードしてインストール。

TCPMP を使ってみよう

TCPMP用flvプラグインをインストール・flv関連付け

flv再生プラグインを導入されていない方は、こちらからtcpmpflvplugin-v(バージョン番号).zipというファイルがダウンロードできます。中には、「flvffmpeg.plg」「flvsplitter.plg」「YouTubeDownload.exe」「YouTubeDownload-x86.exe」の4つのファイルがあります。flvffmpeg.plgとflvsplitter.plgを、TCPMPがあるフォルダにコピー。
Ver0.1ではflvffmpeg.plgはffmpeg.plgという名前で、元々同梱されているものと同じ名前でした。Ver0.1で上書きされた方は、元に戻したほうがよいと思います。また今回は、YouTubeDownload.exeとYouTubeDownload-x86.exe(母艦Windows用)は必要ありません。

SourceForge.net: Files

または先ほどのaviさんのページで公開されているCABファイル「YouTube/Flv Codec tcpmp.pocketpc.flv.plugin.cab (PocketPC用)」で、flv再生プラグインを導入します。こちらの方が簡単です。


そして、TCPMPを、flvファイルに関連付けします。TCPMPの「オプション」→「各種設定」→「詳細設定」→「拡張子関連付」で、「Flash Video」にチェックが入っていればOKです。

MortScript インストール

まずはこれが無いと始まりませんので。まだ導入されていない方は、こちらからダウンロードしてインストール。ダウンロードしたzipファイルを展開し、cabフォルダ内にある「MortScript-4.0-PPC.cab」でインストールすればOKです。

www.sto-helit.de - MortScript 4.0

YouTubeDL

今回の本体となるスクリプトファイルです。先ほども引用させていただきましたが、こちらからダウンロード。
http://home.att.ne.jp/wave/deox_pop/scripts/YouTubeDL.txt
このファイルはデバイスのお好きな場所に(\Program Files\Script\YouTubeDL とか適当に)置いておきましょう。

MatchRep、WinActivator

文字列マッチ/置換をregexp感覚で行うMortScript、MatchRepをこちらからダウンロード。
http://home.att.ne.jp/wave/deox_pop/scripts/MatchRep.txt

また、ウィンドウを強制的に前面表示させるMortScript、WinActivatorをこちらからダウンロード。
http://home.att.ne.jp/wave/deox_pop/scripts/WinActivator.mscr

ダウンロードしたら、先ほどのYouTubeDL.txtを置いた場所にlibフォルダを作って、その中に、この二つのファイルを入れます。

あとMatchRep.txtについては、拡張子をmscrにリネームして、ファイル名をMatchRep.mscrにしてください。

utf8sjis

こちらから、utf8sjis.zipをダウンロード&解凍して、utf8sjis.exeを、\Program Files に。(他の場所でも問題ありませんが、その場合はYouTubeDL.txtの編集が別途必要になります。後述。)

W-ZERO3でUTF-8 (guchilog)

YouTubeDL 編集&リネーム

YouTubeDL.txtをテキストエディタで開いて編集します。編集箇所は下記のflvファイルを保存するディレクトリ指定です。

#保存ディレクトリ。機種や環境に応じて、適宜書き換えて下さい。
destDir = "\miniSD Card\My Movie"

"\miniSD Card\My Movie"の部分を、"\miniSDカード\My Movie"にするとか、ご自分の環境にあわせて、flvを保存するファイルパスを指定します。


また、先ほどのutf8sjis.exeを \Program Files 以外の場所に置いた場合は、

Utf8sjis = "\Program Files\utf8sjis.exe"

の部分を、適宜変更してください。


最後に、拡張子をmscrにリネームして、ファイル名をYouTubeDL.mscrにします。
これで導入は一通り終わりです。関連付け起動できるランチャー等に、YouTubeDL.mscrを登録しておきましょう。
MortScriptをcabファイルでインストールしていれば、拡張子mscrに関連付けされてますので、そのまま実行できる状態になっているはずです。関連付けされていなければ、MortScript.exeを実行して関連付けし直すか、MortScript.exeのショートカットを作成して、引数にYouTubeDL.mscrのパスを渡すようにして実行すればOKです。

YouTubeのURLコピー、YouTubeDL.mscrを実行

あらかじめflvをダウンロードしたいYouTubeページのURLを、ブラウザからクリップボードにコピーしておきます。または、URLに含まれるIDだけでもOKです。(例:http://www.youtube.com/watch?v=qq7ncjhSqtk なら、v=の後ろにある「qq7ncjhSqtk」の部分がIDです)
そしてYouTubeDL.mscrを実行すると、まず閲覧htmlページをダウンロードするダイアログが出ます。ここではまだflvファイルはダウンロードされません。ダウンロードが終わったら、「Start downloading〜」とflvファイルをダウンロードするかどうかの確認ダイアログが出ますので、OKボタンを押せば、flvのダウンロードが開始されます。
ダウンロードが終わったら、flvに関連付けしたTCPMP自動起動して再生されます。(起動してすぐ再生させるためには、TCPMPの「オプション」→「各種設定」→「詳細設定」→「プレーヤー」の「ファイル即自動再生」にチェックを入れる必要があります)



これでブラウザでYouTubeのページを開いた状態から、簡単に動画をダウンロード・再生できるようになりますね。W-SIMですとダウンロードはきついところがありますが、寝モバ無線LAN使用している時とか、他デバイスの場合には、結構実用的に使えるのではないかと思います。
MortScriptスレの1氏、便利なスクリプトの公開、ありがとうございます。


(追記)
MortScriptスレで、ダウンロードしたファイルキャッシュについて、作者の1氏が補足されていました。

344 名前:1[] 投稿日:2007/05/27(日) 18:57:05 ID:zd4bHOg30
YouTubeDL.mscrでいい気になって
がんがんビデオファイルを落としていると、
IEのキャッシュフォルダに巨大なファイルが溜っていくようです。
MortScriptのDownload()はそういう仕組みなんですね。

というわけで、YouTubeビデオのキャッシュだけをすべて消去するスクリプト。

CacheDir = RegRead( "HKCU", \
"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", \
"Cache" ) \ "Content.IE5\*"
#ここまでは実際にはもちろん1行にまとめてOK
ForEach folder in directories ( CacheDir )
Delete( folder \ "get_video*" )
EndForEach

これを単体スクリプトとして、気が向いた時に起動させてもいいし、
YouTubeDL.mscrから呼び出してもいいでしょう。
たった4行のスクリプトなので、
俺はYouTubeDL.mscrの末尾に直接付け加えました。
Delete() を含んでいるので、改変される場合はくれぐれも気を付けて下さい。

ということですので、前もってYouTubeDL.mscrの最後に追加しておけば、無駄なファイルが残ることもなくなるようです。
Ver5.27.2007にて、キャッシュ削除処理がYouTubeDL.mscrに組み込まれました。

さらに、Ver6.1.2007にて、レジストリIEキャッシュ場所を一時的にダウンロード先に書き換えることで、本体メモリを圧迫しないようにするよう改修されています。ですので、本体メモリが一杯の方にも安心ですね(^^;