・DS218+覚え書き2018/05/09 23:59


最近DS218+というNASを導入したのだが、いろいろわかんないことがあったので覚え書きとして残す。

(1)DDNSにMyDNSを追加する

コントロールパネル
->外部アクセス
->DDNS
->カスタマイズ

サービスプロバイダ:MyDNS
Query URL:http://www.mydns.jp/directip.html?MID=__USERNAME__&PWD=__PASSWORD__&IPV4ADDR=__MYIP__
としてMyDNSを追加し各設定をする。

(2)DDNSの更新頻度

1日に1回(多分)
グローバルIPが書き換わった時に更新してくれるわけではない(多分)

(3)CGIに書くPerlのパス

Perlのパスは
#!/usr/bin/perl
とする。

(4)CGI実行時のjcode.plエラー回避

Perl5.14以降、jcode.plで以下のエラーが出る場合

defined(%hash) is deprecated at ../perllib/jcode.pl line 684.
(Maybe you should just omit the defined()?)
defined(%hash) is deprecated at ../perllib/jcode.pl line 693.
(Maybe you should just omit the defined()?)

-----下記の部分を
sub z2h_euc {
local(*s, $n) = @_;
&init_z2h_euc unless defined %z2h_euc_inited;
$s =~ s/($re_euc_c|$re_euc_kana)/
$z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
/geo;
$n;
}

sub z2h_sjis {
local(*s, $n) = @_;
&init_z2h_sjis unless defined %z2h_sjis_inited;
$s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
$n;
}
------------------

-----のように書き換える
sub z2h_euc {
local(*s, $n) = @_;
&init_z2h_euc if !%z2h_euc;
$s =~ s/($re_euc_c|$re_euc_kana)/$z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1/geo;
$n;
}

sub z2h_sjis {
local(*s, $n) = @_;
&init_z2h_sjis if !%z2h_sjis;
$s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
$n;
}
------------------

(5)増設用メモリ

「アドテック Mac用 DDR3L-1866 SO-DIMM 4GB 低電圧」を使用できる


------------------------------------------
このブログの本店「かるた堂本舗」もよろしくです。

・ファーストガンダムのかるた売ってます。
・ファイル整理に便利な自作ツール置いてます。
・写真(コスプレ、ポートレート、動物)公開してます。
------------------------------------------

・m3u8+動画ゲッター+ffmpegの覚え書き2018/05/20 23:59


webの動画をダウンロードするのに「動画ゲッター」を使っている。これはChromeの機能拡張だが、非常に便利で手放せない。しかしたまに動画本体じゃなくてm3u8という拡張子のファイルしかダウンロードできない場合がある。これは動画が分割されている状態で、そのリストがm3u8ファイルということ。この場合も動画ゲッターでダウンロードできないことはないのだが、こういう場合は100分割されているとかも普通で、動画ゲッターはそれを連続してダウンロードしてくれるわけではなく、個々にダウンロードする必要がある。つまり100分割のファイルなら人間が100回保存処理をしなくちゃならんということだ。
これは面倒臭すぎる。

実はリストファイルからffmpegを使って自動的にダウンロード->mp4ファイルに結合という方法があるのだが、この方法が使えるのはリストファイルに記述されている分割ファイルがフルパス(例えばhttp://aa.aa/0001.tsとか)になっている場合だけで、0001.tsとかの相対パスになっている場合はエラーが起きるだけだ。しかし逆に言えば、リストファイルの分割ファイルのURLをフルパスにしてしまえばffmpegで簡単に処理できることになる。

ということで、少しだけ面倒臭くなくなる方法を考えた。

(1)動画のweb pageのソースを表示して、m3u8ファイルの記述を探す。
ここではvideo.m3u8というファイルが、http://a.a/b.b/video.m3u8と記述されていたとする。
(2)ブラウザのアドレスバーに上記URLを記述して、video.m3u8をダウンロードする。
(3)video.m3u8をテキストエディタで開いて、m3u8ファイルの記述を探す。
ここではplaylist.m3u8というファイルが、600kbps/playlist.m3u8と記述されていたとする。
(4)上記の記述からplaylist.m3u8は、http://a.a/b.b/600kbps/playlist.m3u8にあることがわかるので、ブラウザのアドレスバーにこのURLを記述してplaylist.m3u8をダウンロードする。
(5)playlist.m3u8をテキストエディタで開いて、tsファイルの記述を確認する。
ここでは、
0001.ts
0002.ts
0003.ts
と記述されていたとする。
(6)上記の記述なら分割ファイルはplaylist.m3u8と同じ階層にある。例えば0001.tsのフルパスは
http://a.a/b.b/600kbps/0001.tsとなるので、エディタの置換機能等を使ってそれぞれのファイルのパスを書き換える。
上記の例の場合は多分、
"(改行)+0"を"(改行)+http://a.a/b.b/600kbps/0"に置換すればOK。
(7)修正したplaylist.m3u8をffmpegで処理する。

なおffmpegで処理する部分はネットを検索すればたくさんの情報があるのでここでは詳述しない。
上記の理屈がわかっているなら、動画ゲッターでvideo.m3u8とplaylist.m3u8をダウンロードしてもよい。

あと、すべてのサイトが上記の構成になっているわけではないだろうから、m3u8ファイルの中を確認したうえでサイト構成に応じた対応をする必要があると思われる。


------------------------------------------
このブログの本店「かるた堂本舗」もよろしくです。

・ファーストガンダムのかるた売ってます。
・ファイル整理に便利な自作ツール置いてます。
・写真(コスプレ、ポートレート、動物)公開してます。
------------------------------------------