cmdtubeとは
動画投稿サイトから動画をダウンロードするためのコマンドラインアプリケーションです。
GUIはありませんが、スクリプトを書き換えることにより、youtube以外のサイトにも(運がよければ)対応可能です。
使い方
端末より以下のように打ち込みます
cmdtube /S http://www.youtube.com/watch?******** /mnt/card/test.flv
現在のところyoutube以外のスクリプトのサポート予定はありません。(追随がめんどうなので)
cmdtube定義ファイルリファレンス
cmdtubeは/home/zaurus/.cmdcnf以下にある定義ファイルを元に動作します。
定義ファイルにコメントなどを書くことはできません。また
文字列を””で囲む必要もありません。
cmd.ini
基本設定および利用プラグイン一覧を明記します。
@useragent=
サーバに送るUserAgentを明記します。bitwarpなどを使っている人はZaurusのNetFrontが返す値を書いた方が良いかもしれません。
記入例
@useragent=Mozilla4.0
@timeout=
タイムアウト時間(単位は秒)を明記します。この時間の間サーバーから応答がないとエラーになります。
記入例
@timeout=30
@plugin
同一フォルダにある定義ファイルの名前を明記します。定義ファイル名は各動画サイトのURLでないといけません。
記入例
@plugin=www.youtube.com
www.youtube.com
動画サイトに対応した定義ファイルです。定義ファイルの書き方次第ではyoutube以外にも対応できる”はず”です。
@httpinit:
通信バッファを初期化します。接続前には必ず呼び出す必要があります。
@<-read:
第二引数に設定したURLを作業領域に読み込みます。
@<-read=<url>
<URL>を作業領域に読み込みます。
@->host:
作業領域にある文字列を通信先として登録します。
@->body:
作業領域にある文字列を送信データとして登録します。
@<-body:
受信データ(主にHTML)を作業領域に読み込みます。
@->header=<state>
作業領域にある文字列を<state>として送信ヘッダに登録します。
例:
@->header=Content-Type
@<-header=<state>
受信ヘッダのうち<state>に当たる項目を作業領域に読み込みます。
例:
@<-header=Content-Type
@connect=<command>
サーバーに接続します<command>はGETかPOSTのいずれかです。
@buffering:
サーバーから送信されたデータ(HTML)をメモリに読み込みます。文字列以外を読み込むと正常に動作しません。
@keepconnect:
次の通信を始めても現在のソケットを閉じません。ただし閉じずにおけるソケットは1つのみです。
@push=0
作業領域の内容を退避します。
@pop=0
退避している内容を作業領域に書き戻します。
@urlencode:
作業領域の内容をurlエンコードします。
@urldecode:
作業領域の内容をurlデコードします。
@->file:
通信中のデータを第3引数のファイル名でファイルに保存します。
@replace=<befor>@=><after>
作業領域にある文字列に<befor>が含まれている場合<after>に置換します。
@analysis=<url%s1 %s2>
作業領域にある文字列の解析の開始です。解析後見つけた文字を%s1 %s2に代入します・
@startcode=<string>
作業領域にある文字列に<stringが出てくるまで解析を行いません。先頭に不要な文字が多い場合にりようします。
%s1=<start>@=><end>
最初に見つけた<start>直後から<end>直前までの区間を抜き出し%s1に代入します。
%s1から%s9までが利用可能です。
@analysis end:
解析処理の終了です。
@cookieclear:
たまったクッキーを削除します
@cookieon:
クッキー機能を有効にします
@cookieoff:
クッキー機能を無効にします
最終更新:2007年10月07日 21:02