ニコニコ動画 mp4(H.264)動画をダウンロードするスクリプト

Rubyで作ってみた。
nicovideo gemを利用。mp4の判定部分のみ追加。

#!/usr/bin/ruby -Ku

# nicodown.rb

require 'rubygems'
require 'nicovideo'

module Nicovideo
  class VideoPage
    def mp4?
      @params ||= get_params
      pattern = %r!^http://.*\.nicovideo\.jp/smile\?m=.*$!
      return true if CGI.unescape(@params['url']) =~ pattern
      return false
    end
  end
end

nv = Nicovideo.new('メールアドレス', 'パスワード')

ARGV.each do |video_id|
  nv.watch(video_id) do |v|
    type = (v.mp4?) ? 'mp4' : 'flv'
    File.open("[#{v.id}] #{v.title}.#{type}", "wb"){|f| f.write(v.flv) }
  end
end

使い方。

./nicodown.rb sm2527883 sm1886501 sm2525935 sm2531245

結果。

[sm1886501] 【初音ミク】バーボンハウスへようこそ【オリジナル】‐ニコニコ動画(SP1).flv
[sm2525935] 【初音ミク】キミノカケラ【オリジナル】‐ニコニコ動画(SP1).flv
[sm2527883] アイドルマスター×東京事変 律子 ブラックアウト PV風 (H.264)‐ニコニコ動画(SP1).mp4 
[sm2531245] アイドルマスターL4U 真 蒼い鳥(RemixA)ラヴィアンローズ(H.264)‐ニコニコ動画(SP1).mp4