効率のよい同時ダウンロードの勧め
LIVEなどは、HLS配信のビットレートが50Kbps程度ですので、
1個だけのダウンロードは効率が悪く、LIVEでなくてもradiko.jp
のタイムフリーも同様です。速度は環境によって変化しますが、
私の環境では
・aac断片のURLを記述したxxxx.m3u8を直接ダウンロード
--- 0.8 Mbps 同時接続可
・-headers オプションのffmpegによるダウンロード
---0.7 Mbps 同時接続可
尚、同時接続時は1.2Mbps
となっており、同時接続時は約1.5倍になっています。そこで、
同時ダウンロードのためのスクリプトの修正箇所を説明します。
といっても、簡単で、できるファイルの名前だけを変えて、あら
たなスクリプトにするだけです。
例えば、LIVEのBBCとNHKの場合は下記のようにスクリプトを
修正します。BBC-LIVE-smpl-download.js は
****************
var strUrl = "https://as-hls-ww-live.akamaized.net/pool_7/live/bbc_radio_three/bbc_radio_three.isml/bbc_radio_three-audio%3d48000.norewind.m3u8"
var wsh = new ActiveXObject("WScript.Shell");
var cmdtxt = "ffmpeg.exe -i " + strUrl + " -y -acodec copy output-BBC.aac";
wsh.run("smplayer-exec-BBC.js");
WScript.Echo( cmdtxt );
wsh.run(cmdtxt,1,true);
WScript.Echo(String.fromCharCode(7));
************************
即ち、output-BBC.aacとできるファイルの名前を変え、起動するsmplayerのスクリプトもsmplayer-exec-BBC.jsと名前を変え
**********
Script.Sleep (10000);
var sh = new ActiveXObject( "WScript.Shell" );
var cmdtxt = "\"C:/Program Files/SMPlayer/smplayer.exe\" \"C:/Users/st2411/Downloads/GyaoFlvDownloadHelper/output-BBC.aac\""
sh.Run( cmdtxt );
// オブジェクトを解放
sh = null;
**************
ここでもoutput-BBC.aacとできるファイルの名前を変えます。
これで、このBBC-LIVE-smpl-download.js は独立したもの
となり、output-BBC.aacが、同時に行われる他のダウンロードに
上書きされることはありません。
このようにしてNHKも修正すると、BBCとNHKを同時にダウンロード
でるようになります。これはエアチェックなどではできない事です。
原理的には、いくつでも通信能力の範囲でできます。