nnddの共有部分の解析してみた。

2014年10月5日

ほぼ毎日NNDDというソフトを使ってニコニコ動画を見ているんですが、
このソフト、ローカルマシンにニコニコ動画の動画ファイルをガッシガッシ溜め込んでおけるソフトでして、
それをnvplayerというソフトで倍速再生するととっても時間の無駄遣いの節約ができてお勧めです。(謎)

でー、このソフト。LAN内でなら保存した動画の共有ができるというこれまたすばらしい機能があります。
メインマシンでガッシガッシ動画をダウンロード&溜め込みをして、
サブマシンでメインマシンの動画を再生(超速い)
とかできてマジお勧めです。

現状この共有機能は、windows、リナックス(使わん)、Mac(使わん)に対応しています。

・・・・iphoneとAndroidでも共有したいよね?
ということで、ソースコードが公開されているのでプロトコルを勝手に解析してみました☆ミ

以下テスト用ソース。

nndd_test.pl

#!/usr/bin/perl -w

use strict;

use LWP::UserAgent;
use HTTP::Request::Common;
my $userAgent = LWP::UserAgent->new(agent => 'perl post');
my $message = "";


#NNDDサーバーに保存されている全マイリスト取得
$message = "<nnddRequest type=\"GET_MYLIST_LIST\"></nnddRequest>";

#NNDDサーバーに保存されているマイリストをID指定で取得(http://www.nicovideo.jp/mylist/27543937)
#$message = "<nnddRequest type=\"GET_MYLIST_BY_ID\"><rss rssType=\"MY_LIST\" id=\"27543937\"></rss></nnddRequest>";


my $response = $userAgent->request(POST 'http://127.0.0.1:12300/NNDDServer/',
Content_Type => 'text/xml',
Content => $message);

print $response->error_as_HTML unless $response->is_success;

print $response->as_string;

Strawberry Perlで動作確認済み。
プロトコルの分析だから別にiphoneやアンドロイドでやる必要ないし。perlで十分だし。perl最高だし。

iphoneはmp4しか再生できないし、flvは端末によって再生できたりできなかったりするのでよくわからんしなので
mp4だけの一覧表示部分を作って、それコメント載せずに再生するだけプレーヤーなら簡単に作れそう。

他のプレーヤーにURL スキームで再生用URLを分投げてストリーミング再生!
とかしたら幸せになれるかな?って感じです。

余裕があったら作ってみたいなあー。

ではでは。

PC

Posted by namahage