ここでは、動画、ストリーミング関連に特化して技術的、実践的情報をご紹介します。

ホーム / Streaming

更新:07/05/11 | 動画配信録画 NetTransport | Streaming

インターネット動画配信の録画

インターネット接続環境やサーバーの負荷によっては、どうしても配信動画が途切れてしまうなどのストレスを感じる場合があります。そんな場合に便利なのがネット配信動画のHDD録画です。

"手っ取り早く動画配信を録画するのであれば、スキャンコンバーターを使って家庭用VTRに録画すればいいのでは?"という考え方もあるかも知れません。しかし、そのためだけにスキャンコンバーターを導入し、新しい機材を増やすのはスマートではありません。

ここでは、NetTransportというソフトウェアを使って配信されるデータをそのままHDDに保存する方法をご紹介します。いずれにしても、個人で利用する範囲に留め、著作権侵害などに抵触しないようご注意下さい。

NetTransport

フリーソフトながら、配信動画をHDDに録画できる頼もしいソフトウェア
NetTransport
NetTransportの入手
NetTransportはVersion1.9まではフリーソフトでしたが、その後シェアウェアになってしまいました。フリーソフト版で十分なので、GoogleなどでNetTransport 1.9 Downloadなどのキーワードで検索して探してください。
NetTransportのインストール
ダウンロードしたインストーラーを起動してインストールしてください。基本的に英語ですが、操作自体に難しい物はないと思いますので、どんどん進んでインストールを完了します。
使い方
ダウンロード通常、クリックしてWindowsMediaPlayerが起動し再生が始まると思いますが、その際にストリーミングされる(ファイルとしてではなく、連続的にデータを送る仕組み)データをWindowsMediaPlayerの代わりにNetTransportが受信し HDDにファイルとして保存していきます。そのため、上の場合で言えばクリックする対象がなければなりません。
多くの場合、そのままデータが配信されるようにHTMLに記述されているのであれば、ブラウザの画面から右クリック→NetTransportでダウンロード(実際は、英語で書いてあります)という項目を選択すれば問題ありません。
ログインしなくては動画を再生できない場合は、ログインIDとパスワードの設定も忘れずに行います。NetTransportが代行してログインも行ってくれます。
スタートをクリックすれば、ストリーミングデータの受信が開始されます。ダウンロード対象のファイルは名前やサイズなどが表示されるため、サイズを見てどのファイルが目的の動画データかどうか見極めておきましょう。
しかし、この方法でNetTransportを起動してもサイズからしてどう考えても対象となる動画データが見あたらない場合があります。これは、HTMLにデータのソースを直接記述せず、クリックされた場合にJavaScriptなどで処理をした上で目的のURLを生成、引き渡しを行っている場合などに同現象に遭遇します。
つまり、単純にはダウンロード対象が見極められないと言うことです。しかし、「クリック→再生される」という図式がある以上、「クリック→なんらかの処理→再生」という処理が行われているわけですから、HTMLのソースを確認することでダウンロード対象のURLを手作業で確認することが出来るはずです。
Back to Top

ここから先は単純作業ではないHTML・JavaScriptの知識が多少必要となります。
理解できる方のみに有効な手段となりますのでご承知下さい。

自己解析が必要な場合の例

Yahoo!動画編

例えば、Yahoo!動画の無料コンテンツの場合を紹介します。

Yahoo!動画の無料コンテンツの一部はHTMLにはめこまれたWindowsMediaPlayerで再生されるようになっており、 JavaScriptでURL生成を行っているため単純にNetTransportでダウンロード対象を検出できません。

対象となっているHTMLを見ると次のような記述がありました。

<a href="javascript:;" onclick="parent.Controller
.PlayVoD_N('a00011-00002-15-01d');">

「見る」をクリックした場合のaタグです。

parent.Controller.PlayVoD_Nという関数に、a00011-00002-15-01dという引数が渡されています。明らかにこの引数はコンテンツを一意に特定するためのコードだと判ります。

このソースの中に、PlayVoD_Nという関数はありません。parent〜からも判るとおり、このHTMLは親のHTMLから参照されているフレームの一部と思われますから、親のHTMLソースを開いてみます。

親のHTMLソースにもPlayVoD_Nという関数はありませんが、HEADタグの中に外部スクリプトをインクルードする記述があるので注目します。

《中略》
<script type="text/javascript" src="/js/def.js"></script>
《中略》
<script type="text/javascript" src="/js/tvw_ctrl_u.js"></script>
《中略》

このファイルをダウンロード・参照する簡単な方法は、 http://yahoo.tv-bank.com/js/def.js http://yahoo.tv-bank.com/js/tvw_ctrl_u.jsにブラウザからアクセスする方法です。

ファイルが存在していれば、保存ダイアログが表示されるはずです。通常はブラウザがダウンロードし、読み込んで内容を解釈する物ですが、それを人が行うまでです。

今回は、後者のファイルに該当する関数が存在していました。
その中に、

《中略》
var url = root+"lib/meta.php?f="+file+"&c="+ch+"&t=n";
《中略》
WMPCtrl.Start(url);
《中略》

といった記述があり、少なくとも"url=〜"の部分がダウンロード対象のURLとなりそうです。

スクリプトの内容を加味すると、http://yahoo.tv-bank.com/lib/meta.php?f=a00011-00002-15-01dなどとしてブラウザからアクセスしてみます。

WindowsMediaPlayerがローカルマシン上で起動され、動画が再生されたら正しいURLと言えます。ここで、やっとNetTransportでHDDへの保存が可能となります。

NetTransportのNewをクリックして、URLを転記してStartをクリックすればダウンロードが開始されます。ダウンロードが終了したファイルは、MyVideoというフォルダをクリックすると一覧表示されます。

このファイルのままではWindowsMediaPlayerで先送りや指定位置へのジャンプなどが出来ないようです。右クリック → Make index for ASF をクリックしてインデックス付きのファイルを生成しましょう。

Back to Top
探偵事務所5編

次に、探偵事務所5の場合について紹介します。

http://www.tantei5.com/net/netcinema/viewer55_hig.htmlの内容で注目すべき点は次の一行です。

<script language="javascript" src="http://tantei5.com/net/
netcinema/js/tantei5_hig.js"></script>

すなわち、tantei5_hig.jsというJavaScriptにターゲットの情報は格納されています。

そのJavaScriptの内容は前半に変数の定義があり、fileNumという変数の値を使って最終的なターゲットはasxPathとして決定しています。
asxPathの中を追っていくと次のように展開できます。

"http://www.tantei5.com/net/netcinema/asx/"+ location.pathname.substring(location
.pathname.length-11,location.pathname.length-11+6) +".asx";

URLの一部分を切り出してターゲットの名前に利用していると言うことになります。
この場合、55_higがその部分にあたると考えられます。

http://www.tantei5.com/net/netcinema/asx/55_hig.asxがターゲットと特定できました。
後はNetTransportでダウンロードすればOKです。

これで何時でも動画を鑑賞できるようになりました。
HDDに保存しておいて移動中に見るといった贅沢も出来ます。

Back to Top
 
お勧めリンク
ダウンロード
ストリーミング関連
Macintosh関連
Windows関連
メディアなど
 
ハードウェア
ソフトウェア/サービス/開発SDK
デジタル一眼レフカメラ
テクニカル記事
趣味関連
ゲーム 〜楽しいゲームの紹介や攻略法
RoverMNI(ローバーミニ) 
雑記
その他
コメント・フィードバック
©1998 CNXGROUP. このページの全部あるいは一部を無断で利用(コピー)することを禁じます。
>