Hatena::ブログ(Diary)

狼ニコ生うらやまけしからん日記

2010-01-31

ニコニコ生放送一般会員用タイムシフトツールnamareco

概要

  • 登録したコミュまたはユーザが配信を開始すると自動的に録画
  • Ruby版では録画したい配信URLの直接指定も可能
  • 一般会員でもタイムシフトしたいので作ってみた

ダウンロード

使い方

設定ファイル
  • 以下の設定ファイルを実行ファイルと同じフォルダに保存
  • account.txt
  • alert.txt
    • 録画したいコミュのURLまたは配信者のユーザIDを記述
    • 同時に二番組まで録画
    • 配信が三番組以上重なった場合はより上の行に記述された方を録画
    • コマンドラインから指示された配信URLは最優先で録画
  • config.yaml(書き換えなければ従来どおり使えるはず)
    • session: direct|ff|ie|gc
    • filename: %lvid%_%caster%_%title%_%comname%(%comid%)
      • 出力ファイル名を指定
      • 上記は従来通りのファイル名にする場合
      • 必要に応じ以下のキーワードを使ってファイル名を指定
      • %lvid% lv数字(必ず含む必要がある)
      • %title% タイトル
      • %caster% 配信者名
      • %comid% コミュニティID-
      • %comname% コミュニティ
    • cache_dir: cache/
      • ファイルを格納するフォルダを指定
      • 任意のフォルダを指定することができる(先頭の#はコメントを意味する)
    • reopen_files: true|false
      • trueにすると再接続時にFLVファイルとコメントファイルをそれぞれ別ファイルに分ける
    • detect_diffforms: true|false
      • trueにすると解像度音質変更時にFLVファイルとコメントファイルをそれぞれ別ファイルに分ける
    • tcpsocket_timeout: 数字
    • rtmp_read_timeout: 数字
      • 何秒間データを受け取らなかったら再接続するかを設定
      • デフォルト値は30秒
    • rtmp_connect_timeout: 数字
      • 何秒間rtmpのconnect()へ応答が無かったら再接続するかを設定
      • デフォルト値は2秒
    • debug: [0-4]
      • デバッグモードを指定するdebug行
      • 0から4まで指定可能で順に饒舌から無口になる
  • nico.pem
    • Windows版には同梱して配布
    • ただし安全な接続のためには各自で取得推奨(下記参照)
    • Firefox3.6から取得する方法
      1. https://secure.nicovideo.jp/にアクセス
      2. URLの左隣の緑の部分をクリック
      3. 「詳細を表示」をクリック
      4. 「証明書を表示」をクリック
      5. 「詳細」タブを開く
      6. 証明書の階層から「GTE Cyber Trust Global Root」を選択
      7. エクスポート」をクリック
      8. ファイルの種類「X509 証明書 (PEM)」で保存
      9. ファイル名をnico.pemにリネーム
      10. IE8だとうまく取得できなかった
  • ライブラリダウンロードRuby版のみ)
    • 必要なのはMechanizeくらいのはず
  • 起動
  • 録画
    • 動画とコメントはcache/フォルダ以下に保存
    • 動画およびコメントのファイル名は以下の通り
      • lv数字_配信者_タイトル_コミュ名(co数字).{flv,xml}
  • 再生
    • ニコ動用のプレーヤ(たとえばひまたんぷれいや)を利用するとコメントも表示可能
      • 時刻合わせしていないマシンではコメントのタイミングが大幅にずれるかも
      • 時刻合わせしているマシンでも1秒程度の誤差は出てしまう
      • ニコ生サーバから得られる情報の精度が秒単位なので)
    • VLC media playerでも再生できることを確認

アップデート

アンインストール

  • フォルダごと削除

Ruby版コマンドラインヘルプ

  • helpの英語がひどすぎて分からないと思うので日本語で書いてみた
exit:                   終了
reload:                 alert.txtを再読み込み
alert:                  alert.txtを表示
live_url:               配信URL録画開始
                        (ex. % http://live.nicovideo.jp/watch/lv10000000)
stop number:            number番目の録画を停止
                        (ex. % stop 1)
show:                   現在の録画状況を表示
community_url [number]: alert.txtのnumber行目にコミュニティURLを追加
                        numberは省略可能
                        (ex. % http://com.nicovideo.jp/community/co167641 1)
userid [number]:        alert.txtのnumber行目にユーザIDを追加
                        numberは省略可能
                        (ex. % 3059546 2)
del number:             number行目のコミュニティまたはユーザIDを消す
help:                   ヘルプを表示

特徴

  • サブ窓を使った場合は配信者の方の画面を録画し続ける(はず)
    • 逆にサブ窓でニコ動を流されても録画・録音できない
  • FLVフォーマットで録画
    • ファイルサイズが比較的小さい
  • コメントも保存
    • ニコ動用のプレイヤーを使って再生することでコメントの表示が可能

バグTODO

  • ニコ生側で仕様変更があるとすぐ使えなくなる可能性がある
    • パケット解析して作ったので柔軟性がないため
  • 再生時のシーク対応

ライセンス・免責等

  • copyingを参照下さい

関連URL

俺 2010/10/11 17:53 win-0.4.0 ver.を使用したいのですが、
ファイル名がaccount.sample.txtとなっていますが
account.txtに変更した方がいいのですか?
それとも.sampleはそのままでいいのでしょうか?

kesikarankesikaran 2010/10/11 19:40 付属のファイルはサンプル用ですのでファイル名を変更してお使いください
(上書きしても大丈夫なようにわざと別名にしてあります)

hiirohiiro 2011/04/05 03:11 まだ放送中であるのにfinishと出ていて、おかしいな、と思ったら案の定録画できていなかった。これはなぜですか??

kesikarankesikaran 2011/04/06 00:05 おそらく失敗しているのだと思います
config.yamlでdebug: 0としたときのログをいただければ何か分かるかもしれませんし
わからないかもしれません
コメントあるいはメールからどうぞ
urayama.kesikaran@gmail.com
その際user_sessionが表示されている行は数字を
適当な別の文字で置換してください

hiirohiiro 2011/04/06 01:06 すいません;
user_sessionてどの行かわからないです

kesikarankesikaran 2011/04/06 23:22 どのバージョンをお使いか分かりませんが
使っているソフトに応じて
namarecowin.log imareco.log または namareco.logができているはずです
そのファイルを開いて検索してみてください
よくわからなければ置換しなくても結構です
(置換しなかったとしても私から見てあなたが誰か分かるだけです)

naonao 2011/08/05 04:18 はじめまして、こんにちは。
すいません、namarecowin-0.3.1をダウンロードして
それを解凍というか展開して
その後から全く解りません;;
どうすれば良いのか作業か解りません;;

「account.txt
 一行目にアカウント名(メールアドレス)二行目にパスワードを記述」と
明記されてありますが、
まず「account.txt」ではなく私のフォルダには「account.sample」と名前がなっております。
この「account.sample」というメモ帳の中に
アカウント名を書けば良いんですか?…違いますよね?

「必ず(9)時代」の(9)の意味なども解らない事だらけです;;

申し訳ありませんが、事細かく教えて頂きたいです。
宜しくお願い致します。

kesikarankesikaran 2011/08/06 03:06 リネームするなり新規に作成するなりしていただき
「account.txt」というファイルを同じフォルダに配置してください
同梱のファイルはただの説明用のサンプル(sample)です
ファイル中には一行目にアカウントを二行目にパスワードを記述ください

(9)時代というのはマイページのIDの横に出ているID取得時期を表しています
一時期(9)のアカウントでしか動かないという報告があり
上記の説明を付け加えたのですがそのままになっているようです

それ以降(9)以外のアカウントで利用可能かは検証しておりません
もし試して動いた動かないなどあれば教えていただけるとうれしいです

okirokir 2011/08/07 08:07 いつもお世話になってます。namarecowin0.4.3を使わせてもらっています。
コメントを分けて保存しているんですけれども、
分けたコメントが、ニコ生コメントビューワーで読み込めないんですが、
仕様でしょうか?

kesikarankesikaran 2011/08/07 09:53 コメビュでの読み込みには対応していません
また試してみたこともありません
なので仰るとおり読み込めないのでしょう
# コメビュがどういった形式で保存しているか調べたことは
# ないのですがXMLで保存しているのなら加工すればいけそうな気も
## ただ付加情報ファイルとかを別に保存しているのだとしたら
## 難しそうですが

hidehide 2011/08/23 21:55 お世話になります。初めて使うのですが、namarecowin0.4.3のnamarecowin.exeをクリックすると、画面に一瞬起動するのですが、すぐに消えてしまいます。
(原宿)時代に取得したIDではnamarecowinを使えないのでしょうか?ちなみに、imarecoから入力した場合は使えます。よろしくお願いします。
vista home premium

kesikarankesikaran 2011/08/23 22:32 # 先ほど公開停止したばかりなのにお答えするのも少し変な気分ですがw
何か設定にミスがあって起動が失敗しているように見えます
config.yamlで
debug: 0
としたときのログをいただければ何か分かるかもしれませんし
分からないかもしれません

トラックバック - http://d.hatena.ne.jp/kesikaran/20100131/1264918796
Connection: close