• このエントリーをはてなブックマークに追加
ニコ生の録画方法 まとめ
閉じる
閉じる

ニコ生の録画方法 まとめ

2013-07-07 22:50
  • 9
  • 217
最終更新日 2013/11/14
今日のメンテナンスで再びユーザー生放送のTS保存に放送時間分だけかかるようになった。

ニコ生の保存には rtmpdump が主に使われているが、この記事では無料で配布しているWindows用の namarokuRecorder と kakorokuRecorder を使う方法と、もう少し発展的な使い方のまとめ記事。

目次


用意するもの
用語の説明
生放送の予約・録画
タイムシフト(以下TS)の保存
有料放送の録画
TSの特定の時間だけ保存
録画・保存に必要なツールまとめ

用意するもの


namarokuRecorder と kakorokuRecorder の 配布コミュニティ のトップページからリンクをたどって保存する。

次にOSがVista以前のPCは Microsoft .NET Framework 3.5 をインストールする。

ユーザー生放送と公式枠でない(高画質放送がない)チャンネル生放送*を録画する namarokuRecorder の rtmpdump を nht.r.ribbon.to から rtmpdump.zip を保存して差し替える。
* その他の例でタイムシフト視聴するときに「タイムシフト視聴する」のアラートが出るのが公式枠、出ないのが普通のチャンネル生放送でユーザー生放送と同様に放送ページを開くとタイムシフト視聴できる放送

アニメの生放送や、録画放送を録画する namarokuRecorder の rtmpdump(librtmpも一緒に) は rtmpdump-2.4.zip に差し替えて上の namarokuRecorder と使い分ける。

ユーザー生放送のTS用の rtmpdump を nht.r.ribbon.to から rtmpdump-2.4-git-20131007.zip を保存する。保存場所は kakorokuRecorder の rtmpdump と一緒に rtmpdumpTS などとリネームして同じ場所に置く。

ユーザー生放送や kakorokuRecorder で保存できない場合は RTMPDumpHelper を上と同じ rtmpdump-2.4.zip を使って rtmpsuck と一緒に使うか、API にアクセスして直接コマンドを調べて rtmpdump を実行する。

フォルダ内のまとめ

  • namarokuRecorder_A : 生放送を保存するツール, ニコ生用の rtmpdump に差し替える
  • namarokuRecorder_B : 上の方法で録画できないチャンネル生放送(高画質放送がある)や公式生放送を保存するツール, KSV さんの rtmpdump 一式に差し替える
  • kakorokuRecorder : TSを保存するツール ユーザー生放送のTS用の rtmpdump を使う
  • RTMPDumpHelper : 上3つで保存できない生放送やTSを保存するツール. KSV さんの rtmpdump 一式に差し替える。 フォルダ数を減らしたい場合は namarokuRecorder_B と同じフォルダに RTMPDumpHelper も置く

【有料】 ニコニコの視聴に便利なアドオン・拡張機能 48選
【有料】公式の検索で生放送履歴を調べる方法【非公開も可】

用語の説明


予約:生放送前の放送を予約すること
録画:生放送中の放送を保存すること
録画放送 : 録画した内容を生放送で放送すること
タイムシフト機能とは (タイムシフトキノウとは) [単語記事] - ニコニコ大百科

生放送の予約・録画

ユーザー生放送と公式枠でない(高画質放送がない)チャンネル生放送を録画する場合

namarokuRecorder の rtmpdump を nht.r.ribbon.to から rtmpdump.zip を保存して差し替える。
使うツールは namaroku(予約) と namarokuRecorder(録画)。

namaroku 起動時の画面
33cf6aacedc3aedff7cfd9e3534f6d29d6d134ec

特定のコミュニティやユーザーの放送を予約する場合は「新規登録」から設定する。特定の生放送を予約する場合は「放送予約」タブから放送番号を入力して「追加」を押す。

新規登録 画面
コミュニティIDとユーザーIDで登録でき、登録したデータの通知方法とグループ分け、メモを記入できる

3da7d16621b307888614a579fa9a5f95f487e418

その他の機能に ニコ生アラート(βα)で登録してあるコミュニティを namaroku に登録できたり、登録したコミュニティやユーザーが存在するかの確認、コミュニティやユーザーのサムネイルを保存できる。namaroku 単体では放送アラートとしても利用できる。

保存されたファイル名が長い場合には ツール(T) < オプション(O) < 録画タブ から「独自設定」で
c25d3e0daef1429b120c2fa07db18a96afb90e5c

{0}_{1}

とするとファイル名が長くならず、普段見ている放送は放送タイトルだけで放送者や放送コミュニティがわかる。

公式のアニメ放送の場合

rtmpdump を nht.r.ribbon.to から rtmpdump-2.4-git-20131007.zip を保存して差し替える。

公式のアニメ放送以外を録画する場合

rtmpdump を https://github.com/K-S-V/Scripts/releases から rtmpdump-2.4.zip を保存して、今まで使っていた namarokuRecorder と使い分けて、新しく namaroku フォルダを作って、rtmpdump.exe と新たに librtmp.dll をコピーする。

次に namarokuRecorder を起動して、ツール < オプションより
4934ce16cfe491c938053f4040f2362011d52036

追加引数に「-R」を追加する。すると今までどおり放送を保存できる。

上3つの方法でも録画できない場合

RTMPDumpHelper(rtmpsuck)を使って解析して、command.txt(古いバージョンでは Command.bat やそれらが出力されないこともある)に出力される最終行のコマンドをコピペし、改めてメモ帳などにコピーして、拡張子を「.bat」に変更して rtmpdump がある場所にバッチファイルを移動して実行する。3時間以上ある場合はそこで分割されるのでそこの時間までシークして再度コマンドを取得する。
c43fe0e21aac5b3414d4f2e25a970b6e39e68308

タイムシフト(以下TS)の保存

使うツールは kakorokuRecorder。以下 kakoroku と表記。

kakoroku 起動時の画面
bc28681ba5f9c40b20396fa5100a530d508588ef

TSの保存をより便利にする機能もあり、放送ページの一括登録、同じ放送内で分割されたTSがあればそれだけ保存、TSだけ・コメントだけ保存、TSのエンコード(要:ffmpeg 非推奨)ができる。

ニコ生TSの一括登録に便利なサイト

ユーザー生放送のTSの場合

追記 2013/11/14
生放送メンテナンス:11月14日(木)06:00~08:30‐ニコニコインフォ
のメンテナンスで再びユーザー生放送のTS保存に放送時間分だけかかるようになった。ユーザー生放送の保存には kakoroku Version 1.5.4 で  nht.r.ribbon.to から rtmpdump-2.4-git-20131007.zip の rtmpdump を使い、rtmpdump を rtmpdumpTS などにリネームしておく。

ツール(T) < オプション < rtmpdump指定 よりユーザー生放送の「既定のrtmpdumpを使う」と「規定の引数を使う」のチェックを外す。

8a4c41a4ab658e01d707deb151a1bfb5962c2451

参照をクリックしてリネームした rtmpdumpTS  を指定し、入力フォームをクリック、テンプレート下の「設定1」をクリックし、-r のところを -vr に変更して OK をクリックし、オプションの画面もクリックでおしまい。これでいつも通りに kakoroku で保存できるようになるが、ユーザー生放送は放送時間だけ保存に時間がかかる。

3bea63f4e3336aca4b269fe4f9e361c681f87ddf

追記 2013/10/30
緊急生放送メンテナンス:10月29日(火)06:00~08:30‐ニコニコインフォ
このメンテナンスを終えて一部のユーザーで今までユーザー生放送を kakoroku で保存できなかった人が保存できるようになり、保存できた人ができなくなった。

Axfc Uploader(削除済み) から保存した rtmpdump を cmd を使ってコマンドを手動入力する。この方法は保存に生放送の放送時間と同じだけ時間が掛かるが、多重起動が出来て以前のようにTSを見続ける必要がない。コメントは普段通り kakorokuRecorder でコメントだけ保存する。

コマンドは readme.txt より

rtmpdump -o out.flv -r "rtmp://*******.live.nicovideo.jp:1935/liveedge/ts_******_**_*" -C S:"********:lv********:*:**********:****************" -N "rtmp://*******.live.nicovideo.jp:1935/fileorigin/ts_**,/content/********/lv*********_***********_*_******.***?**********:**:****************" -v

録画が途中で止まる場合は、最後の -v を -R にしてください


readme.txt の説明でわからない場合は NCV のプラグイン の NCVRTMPDumpWrapper の出力コマンドを参考にしてみてください。最終的なコマンド例は少し下で説明してあります。

NCV のプラグイン の NCVRTMPDumpWrapper を使っている場合は出力先を「なし」にして開始ボタンを押しコマンドを表示させ、メモ帳などに一時的にコピペして、-r を -N に書き換え、「mp4:content」の部分を「,content」に変え、保存ファイル名の -o out.flv を決めて、「http://watch.live.nicovideo.jp/api/getplayerstatus?v=lv********」にアクセスして、下の方にある[getplayerstatus/rtmp/url]の部分を -v -r または -vr とし、cmd の実行コマンドとする。保存が途中で止まる場合は -vr とせずに、-r と -R を併用する。オプションの順番は気にしなくても良い。

getplayerstatus へのアクセス方法は、ほげに至る病-ニコニコミュニティ のブックマークレットが便利。放送ページ(http://live.nicovideo.jp/watch/lv*****)からブックマークレットをクリックすると別タブに getplayerstatus のページが表示される。 ブックマークレットの保存方法は、コマンド全部を選択状態にしてブラウザのブックマークツールバーに持って行くと保存できる。表示名が長ければ右クリックからプロパティより名前を短くする。

NCVRTMPDumpWrapper の出力例から以下の手順で書き換える
rtmpdump.exe -r "rtmp://*******.live.nicovideo.jp:1935/fileorigin/ts_00/mp4:content/********/lv*********_***********_*_******.***?**********:**:****************" -C S:"********:lv********:*:**********:****************" -o -

-r を -N に変えて、-o に保存ファイル名を指定、「mp4:content」の部分を「,content」に変える
rtmpdump.exe -N "rtmp://*******.live.nicovideo.jp:1935/fileorigin/ts_00/,content/********/lv*********_***********_*_******.***?**********:**:****************" -C S:"********:lv********:*:**********:****************" -o out.flv

-vr は getplayerstatus の下の方にある[getplayerstatus/rtmp/url]部分(liveedge で検索)を記入
rtmpdump.exe -vr "rtmp://*******.live.nicovideo.jp:1935/liveedge/ts_******_**_*" -N "rtmp://*******.live.nicovideo.jp:1935/fileorigin/ts_00/,content/********/lv*********_***********_*_******.***?**********:**:****************" -C S:"********:lv********:*:**********:****************" -o out.flv

コマンド例
rtmpdump -vr "rtmp://nleta09.live.nicovideo.jp:1935/liveedge/ts_130707_16_0" -N  "rtmp://nlpoca36.live.nicovideo.jp:1935/fileorigin/ts_00/,content/20130707/lv12345678_113801837000_2_2f0ea3.f4v?1373180000:30:df1326d2ba856168" -C S:"123456:lv12345678:0:1373186378:57223884a5aab47b" -o out.flv

cmd.zip を解凍して cmd.bat を rtmpdump と同じフォルダにおいて cmd.bat を実行して上のコマンドをコピペして Enter キーを押す。
f1715074d44bf3f540da3c2c0f25d32439fda97b

3時間以降であったり、分割されたTSは、getplayerstatus より、fileorigin を検索して上から2番目以降のアドレスを -N のオプションに書き換えて再度 cmd を実行する。これで接続できないときはコマンドには有効期限があるので再度、NCVRTMPDumpWrapper でコマンドを取得し直すか、下の方にある[getplayerstatus/rtmp/ticket]部分(ticket で検索)を、-C S: の部分に書き換えて再度 cmd を実行する。

参考スレ:【ニコ生】namareco namarokuについて語ろう Part19

従来のユーザー生放送のTSの保存方法

RTMPDumpHelper で rtmpsuck を使って、TSを見ながら保存する。しかしこのままだと放送が最後まで再生されると最初に戻ってしまい、ファイルが上書きされるので、URLを放送終了時間に指定しておけば最初に戻らなくなり上書きされなくなる。 2ちゃんねるのスレ>474 より
例えば http://live.nicovideo.jp/watch/lv127872748#188:01
をブラウザで一度開いて最初のところにシークバーを移動させてから再生と録画を開始する。書式は「#分:秒」なので時間の部分を分単位に変換する必要がある。

また分割ファイルを録画する場合は、一度 kakorokuRecorder で保存し、右下のログを見るか、テキストのログを見て開始時間を調べてシーク時間を見つける。2ちゃんねるのスレ>469 より
★放送開始(x分x秒~)
★timeshift1.flv
★放送開始(xx分xx秒~)
★timeshift2.flv

有料放送の録画・保存

RTMPDumpHelper(rtmpsuck)を使って解析して、command.txt(古いバージョンでは Command.bat や出力されないこともある)に出力される最終行のコマンドをコピペし、改めてメモ帳などにコピーして、拡張子を「.bat」に変更して rtmpdump がある場所にバッチファイルを移動して実行する。3時間以上ある場合はそこで分割されるのでそこの時間までシークして再度コマンドを取得する。しかし、2013年6月頃から公式生放送では3時間単位で分割されなくなった。

c43fe0e21aac5b3414d4f2e25a970b6e39e68308

不具合

kakorokuRecorder でコメントを保存した時にコメントの一部が歯抜けになることが稀に発生するので、その場合は保存する時間帯を朝など放送が混雑していない時間帯にするか、他のコメビュー、例えば NCV でコメントを保存する。

kakoroku の保存形式を flv(変換なし)以外で保存すると動画が保存されないことがあるので、原則flv(変換なし)で保存する

仕様

TSが3時間以上の長時間の放送は3時間毎に、放送が途切れた場合にはそこでかならず分割される。分割されたくなければ生放送中に録画する。kakorokuRecorder にはオリジナルのファイルが分割されていないのに分割する機能はない。長時間のTSの場合に一度の放送登録では後ろのTSファイルが保存できないことがあるのでファイルを指定して保存する。方法は放送番号に「,2」などと指定する。

例:2番目のTSが登録される
lv107698169,2

追記 2013年4月17日
本家ブログの方で更新しました ユーザー生放送のTSの仕様について

TSの特定の時間だけ保存

rtmpdump の -A, -B, -R のオプションを使ってTSの特定の時間だけを保存する方法。

例えば kakorokuRecorder でTSを保存したファイル名に「lv89834106_ 【悠木碧・内山夕実出演】咲らじ-阿知賀女子学院麻雀部- 第2局 - ニコニコ生放送_vpos-89000_1.flv」があるとする。この「vpos-89000_1」が重要で「-89000」はマイナス890秒から動画が始まり、890秒経つとニコ生の放送開始時間と同じ所から再生される。公式生放送の場合は待ち時間が大抵10分、アニメやニコファーレなどの放送は 30分待ち時間があるのでその時間を足した時間から本編が始まる。

「_1」は1番目のファイルで、2番めのファイルの場合は「_2」というファイル名になる。

特定の時間だけを保存するGUIが公開されていないので、rtmpdump のコマンドを出力してから -A, -B, -R のオプションを組み合わせる。

コマンドを実行するには cmd.zip を保存し rtmpdump と同じフォルダ内に解凍して、cmd を実行し、コマンドをコピペすればコマンドラインから rtmpdump を実行できる。

コマンドを調べる方法

  1. MediaBox を使う
  2. RTMPExploreX(rtmpsuck)を使う
  3. RTMPDumpHelper(rtmpsuck)を使う
  4. NCVRTMPDumpWrapper を使う
  5. kakorokuRecorder を使い、Process Explorer でコマンドを調べる
  6. APIから直接調べる ほげに至る病-ニコニコミュニティ のコミュトップにある「PlayerStatusを確認する為のブックマークレット」が便利
  1. MediaBox を参照
  2. RTMPExploreX を参照
  3. ブラウザと一緒に RTMPDumpHelper(rtmpsuck)を起動して録画したい放送を見るだけ
  4. NCVRTMPDumpWrapper はNCV(NiconamaCommentViewer)のプラグイン NCVRTMPDumpWrapper の配布コミュニティ より保存して、プラグイン(P)< RTMPDumpWrapper < 設定 < RTMPDump.exe の PATH を namarokuRecorder で使っているニコ生用のrtmpdumpを指定する。NCVで放送に接続して、プラグインでは出力先を「なし」にするとコマンドが出力されるのでそれを一 時的にコピペする。
  5. Process Explorer を使う方法は、Process Explorer - technet.microsoft.com より保存し、解凍する。インストール不要なのでそのまま起動できる。kakorokuRecorder で保存しているときに Process Explorer を起動して起動プロセス内の rtmpdump をダブルクリックして「Command line:」の下のコードをすべてコピペする。
  6. APIから調べる方法は、 http://watch.live.nicovideo.jp/api/getplayerstatus/lv放送番号 にアクセスして必要なコマンドをコピペする。2番目以降のファイルを保存するのに便利だが、他の調べる方法と併用したほうがわかりやすい。

一時的にコピペしたコマンドに保存する時間を指定する

  • -A は保存開始時間(秒)を指定するオプション
  • -B は保存する動画時間(秒)を指定するオプション
    何も指定しないと最後まで保存される
  • -R は -A を指定すると最後まで保存できない場合に最後まで保存できるようになるオプション
  • -R を指定しても保存が途中で止まる場合は -A を指定せずに保存する

先の例に放送開始までの時間(890秒)と準備待ち時間(600秒)を保存しないコマンドは
rtmpdump.exe -r "rtmp://nlaoe25.live.nicovideo.jp:1935/fileorigin/01/mp4:content/20120508/lv89834106_203510025000_1_1eb546.f4v" -C S:"ID:lv89834106:0:123...:abc..." -A 1490 -R -o "lv89834106_ 【悠木碧・内山夕実出演】咲らじ-阿知賀女子学院麻雀部- 第2局 - ニコニコ生放送_vpos-89000_1.flv"

録画・保存に必要なツールまとめ

生放送の場合

  • ユーザー生放送と一般的なチャンネル生放送 = namarokuRecorder + rtmpdump改
  • 普通の公式生放送 = namarokuRecorder + 同梱の rtmpdump, rtmpdump改でも可能
  • 上の方法で録画できない放送
    = namarokuRecorder + KSV さんの rtmpdump + 「-R」オプション
  • 上3つの方法では録画できないチャンネルの録画放送
    = RTMPDumpHelper(rtmpsuck)
  • 有料生放送で getplayerstatus が暗号化されている放送
    = RTMPDumpHelper(rtmpsuck) で解析して KSV さんの rtmpdump
  • チャンネル生放送でプレミアム会員なら録画できるが一般会員だと録画できない放送
    今のところ録画できないので TS で保存する。

タイムシフトの場合


この記事は以下の記事のまとめです。
ニコ生を ffplay を使って再生することもできます。詳しくは 【librtmp】 ffmplay で rtmp を入力ソースにする を参照。

rtmpdump のコマンドに関しては rtmpdump コマンド一覧と使い方を参照。
×
やり方わからん!
4ヶ月前
×
RTMPDUMPHELPERを使って、実時間見て録画するのが確実みたいですね。
3ヶ月前
×
初心者なので苦労しましたが、なんとかできました。
ありがとうございます。
後は長時間録画が難しそう。
3ヶ月前
×
RTMPDumpHelperやRTMPEXPloler(X)などのRTMPSuck系ソフトを使っても最近ダウンロードできなくなったのですが。
1ヶ月前まではできていたのに。
2ヶ月前
userPhoto
ロべルト
×
>>4
こちらで確認したところ RTMPDumpHelper v1.20 と 公式の rtmpsuck(rtmpdump-2.4-git-010913-windows.zip) で公式、チャンネル、ユーザー共に問題ありませんでした。それぞれの各バージョンはどのようになっていますか。
1ヶ月前
×
コマンド入力してこちらの記事のrtmpdump使ったのですが

INFO: Connected...
ERROR: rtmp server sent error
ERROR: rtmp sercer requested close

と出て0KBのファイルが出来ました...
TSは見れる状態です
1ヶ月前
×
自己解決しました
-vr以下のコマンドのts_以後の数字はgetplayerstatusのページを開いたときの時間を示しているのでコピペしてから時間がたつとダメみたいです
1ヶ月前
userPhoto
ロべルト
×
>>7
そうです。コマンドには有効期限が有り、長時間のTSを kakoroku で一度に保存すると後ろの方の動画が保存できない場合があるのはこのためです。
1ヶ月前
×
むむむ
3週間前
コメントを書く
コメントをするには、
ログインして下さい。