久しぶりにこいつ。
この前神戸に行ったときに、ずいぶんがんばってPHP書いてました。
がんばってはいたけど、ペースは激遅。長時間画面見てて、夜には半覚醒状態。
そんな状態ではろくにイメージも浮かばず、凡ミスばかり。
それでもなんとかがんばって書いてましたが、時間が足りず、実家に戻ることに。
OSインストール後にVNCも入れてるので、実家から続きができると言えばできるわけで。
というわけで、土日にセコセコと続きを書いていたわけです。
そういうわけで、以下gdgdと。
ニコニコ動画の自動DL、エンコードをするわけなのですが、FLV、MP4のダウンロードが一番大変なわけで、ここさえどうにかなればあとは楽だと思って、DL部分をSmileDownloader(以下SD)に任せようとプログラムを書いていたのですが、SDは自動保存にすると、ファイル名がタイトルになるのです。自分のプログラムではビデオのIDであって欲しいわけで、このままでは駄目なのです。
DL部分をSDに任せておけば、ニコニコ動画側の仕様変更にも、ファイルの差し替えだけで対応できます。SDは更新を怠らずにしてくれるので、それならすっごく楽だと思っていたのです。
無理やりSDにDLさせようとして、Proxomitronでニコニコ動画のページのtitleタグをIDに書き換えたりしました。思ったとおりの動作にはなるのですが、どうもスマートじゃなくて。
プログラムを走らせるとウィンドウがたくさんでてきて、とてもじゃないけどいいものではなかったのです。
結局は今までどおり、PHPでDLさせることにしました。いざやってみると以前のソースをほぼ流用でき、大した苦労はしなかったのです。楽しようとしちゃいけませんね。
FLVやMP4をDL後、携帯動画変換君にファイルを渡します。もちろん変換設定は変更済みです。
というか、変換設定どころか、サーバに「今エンコード始めたよー」などという通知を行うコマンドも入れてあります。そういう意味で、変換君は大変便利なのです。変換ジョブの管理をやってくれるわけですから。
ここ最近、このPHPスクリプトを動かしていなかったのは、サーバリプレースが原因であって、やっぱり動画変換をAtomにやらせるのは無理と判断。神戸のメインPC(Pentium4 3.06GHz)にやらせることに。
その連動をどうするか、というのがここ数日やってきたことであり、今日ようやくそれが形になったと言えるレベルまできたのです。
まず和歌山のサーバは毎朝4時に再起動するのですが、スタートアップにNicoPSPなるスクリプトを放り込んであります。そこからすべてが始まるわけで。
4時にサーバが再起動。ニコニコ動画のランキング(今はマイリスト登録数 デイリー アニメ TOP10)をニコ動のRSSから取得。.jpgサムネイルも保存。(これはあっという間に終わる。
↓
ランキング取得後、和歌山サーバが神戸メインPCに向けてWOL(Wake on Lan)パケットを送信。
↓
メインPCが起動。和歌山サーバからランキングを取得。ニコ動にログインして動画のDL開始。
↓
複数同時DLはせず、ひとつDLが終わるたびに変換君へ放り込む。PSP用MP4に変換。
↓
変換が終わり次第、変換後のMP4をFTPを使って和歌山サーバに転送。(FTP転送は変換君のコマンドに入れてある。
という感じで、次々に動画をDLしては変換、転送を繰り返し、変換君での変換がすべて終われば5分後にシャットダウンをするバッチファイルを用意。
これで、サーバ側のPHPスクリプトを走らせるたびに自動で変換を行うことができます。
ただ、神戸メインPCがすでに起動中の場合などはまだ想定しておらず、その状態では変換は行われません。スタートアップで変換をさせているので。
シャットダウンに余裕をもたせているのは、シャットダウンを中止したいとき用など。
batファイルにshutdown -s -f -t 300などと書いているので、中止したいときはshutdown -aでOK。中止用のbatファイルもデスクトップに作成済み。
デスクトップPCが起動したら毎回ニコ動の収集を行うわけではなく、和歌山サーバのとあるファイルの内容によって判断。言ってみれば、内容が0なら行わず、1なら行う といったファイル。HTTPで問い合わせ。
行わないときは何もせずに10分後にシャットダウンするよう、shutdown -s -f -t 600を実行。
そこに自分がいれば、シャットダウンを中止することもできる。
WOLで起動させるのは、停電後などの電源OFF状態では無理なようで。コンセントを抜いて、さしなおした状態では起動せず。一度起動させて電源を落とすとOKなので、BIOSの設定で電源が復旧した際に起動するように設定。もし停電などが起こっても、復旧時にPCが起動し、和歌山サーバにチェックしに行き、収集をする指示がされてなければ10分後にシャットダウン となる。
問題はメインPCがちゃんと稼動しつづけるかどうか。
シャットダウン時に固まることもあるし、今日は起動時にようこそ画面でフリーズしており、父さんにリセットしてもらった。なんともマヌケな有様である。
完全自動化は明日(今日)が初めて。
ちゃんと動いていれば、起きたころにはPSPにランキング上位の動画が入っていることになる。
わくわくしながら寝るとする。