TSのない放送のコメントを保存する方法について追記。
ニコ生の保存には rtmpdump が主に使われているが、この記事では無料で配布しているWindows用の namarokuRecorder と kakorokuRecorder を使う方法と、もう少し発展的な使い方のまとめ記事。
目次
用意するもの
用語の説明
生放送の予約・録画
タイムシフト(以下TS)の保存
有料放送の録画
TSの特定の時間だけ保存
TSのない放送のコメントを保存する方法
録画・保存に必要なツールまとめ
用意するもの
namarokuRecorder と kakorokuRecorder の 配布コミュニティ のトップページからリンクをたどって保存する。
kakorokuRecorder が起動できなければ Microsoft .NET Framework 4 をインストールする。
ユーザー生放送と公式枠でない(高画質放送がない)チャンネル生放送*を録画する namarokuRecorder の rtmpdump を nht.r.ribbon.to から rtmpdump-2.4-git-20131007_20131123.zip を保存して差し替える。
* その他の例でタイムシフト視聴するときに「タイムシフト視聴する」のアラートが出るのが公式枠、出ないのが普通のチャンネル生放送でユーザー生放送と同様に放送ページを開くとタイムシフト視聴できる放送
アニメの生放送や、録画放送を録画する namarokuRecorder の rtmpdump(librtmpも一緒に) は rtmpdump-2.4.zip に差し替えて上の namarokuRecorder と使い分ける。
ユーザー生放送のTS用の rtmpdump を nht.r.ribbon.to から rtmpdump-2.4-git-20131007_20131123.zip を保存する。保存場所は kakorokuRecorder の rtmpdump と一緒に rtmpdumpTS などとリネームして同じ場所に置く。
ユーザー生放送や kakorokuRecorder で保存できない場合は RTMPDumpHelper を上と同じ rtmpdump-2.4.zip を使って rtmpsuck と一緒に使うか、API にアクセスして直接コマンドを調べて rtmpdump を実行する。
フォルダ内のまとめ
- namarokuRecorder_A : 生放送を保存するツール, ニコ生用の rtmpdump に差し替える
- namarokuRecorder_B : 上の方法で録画できないチャンネル生放送(高画質放送がある)や公式生放送を保存するツール, KSV さんの rtmpdump 一式に差し替える
- kakorokuRecorder : TSを保存するツール 既存の rtmpdump と ユーザー生放送のTS用の rtmpdump を併用する
- RTMPDumpHelper : 上3つで保存できない生放送やTSを保存するツール. KSV さんの rtmpdump 一式に差し替える。 フォルダ数を減らしたい場合は namarokuRecorder_B と同じフォルダに RTMPDumpHelper も置く
【有料】 ニコニコの視聴に便利なアドオン・拡張機能 48選
【有料】公式の検索で生放送履歴を調べる方法【非公開も可】
用語の説明
予約:生放送前の放送を予約すること
録画:生放送中の放送を保存すること
録画放送 : 録画した内容を生放送で放送すること
タイムシフト機能とは (タイムシフトキノウとは) [単語記事] - ニコニコ大百科
生放送の予約・録画
ユーザー生放送とアニメでないチャンネル生放送、公式生放送を録画する場合
namarokuRecorder の rtmpdump を nht.r.ribbon.to から rtmpdump-2.4-git-20131007_20131123.zip を保存して差し替える。使うツールは namaroku(予約) と namarokuRecorder(録画)。
namaroku 起動時の画面
特定のコミュニティやユーザーの放送を予約する場合は「新規登録」から設定する。特定の生放送を予約する場合は「放送予約」タブから放送番号を入力して「追加」を押す。
新規登録 画面
コミュニティIDとユーザーIDで登録でき、登録したデータの通知方法とグループ分け、メモを記入できる
その他の機能に ニコ生アラート(βα)で登録してあるコミュニティを namaroku に登録できたり、登録したコミュニティやユーザーが存在するかの確認、コミュニティやユーザーのサムネイルを保存できる。namaroku 単体では放送アラートとしても利用できる。
保存されたファイル名が長い場合には ツール(T) < オプション(O) < 録画タブ から「独自設定」で
{0}_{1}
とするとファイル名が長くならず、普段見ている放送は放送タイトルだけで放送者や放送コミュニティがわかる。
公式のアニメ放送や録画放送の場合
rtmpdump を https://github.com/K-S-V/Scripts/releases から rtmpdump-2.4.zip を保存して、今まで使っていた namarokuRecorder と使い分けて、新しく namaroku フォルダを作って、rtmpdump.exe と新たに librtmp.dll をコピーする。追加引数に「-R」を追加する。すると今までどおり放送を保存できる。
追記 2013/11/24 -R 指定を除外した。
上2つの方法でも録画できない場合
RTMPDumpHelper(rtmpsuck)を使って(64bitブラウザは64bitの RTMPDumpHelper を使うこと)解析して、command.txt(古いバージョンでは Command.bat やそれらが出力されないこともある)に出力される最終行のコマンドをコピペし、改めてメモ帳などにコピーして、拡張子を「.bat」に変更して rtmpdump がある場所にバッチファイルを移動して実行する。3時間以上ある場合はそこで分割されるのでそこの時間までシークして再度コマンドを取得する。タイムシフト(以下TS)の保存
使うツールは kakorokuRecorder。以下 kakoroku と表記。kakoroku 起動時の画面
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_20131123.zip の rtmpdump を使い、rtmpdump を rtmpdumpTS などにリネームしておく。
ツール(T) < オプション < rtmpdump指定 よりユーザー生放送の「既定のrtmpdumpを使う」と「規定の引数を使う」のチェックを外す。
参照をクリックしてリネームした rtmpdumpTS を指定し、入力フォームをクリック、テンプレート下の「設定1」をクリックし、-r のところを -vr に変更して OK をクリックし、オプションの画面もクリックでおしまい。これでいつも通りに kakoroku で保存できるようになるが、ユーザー生放送は放送時間だけ保存に時間がかかる。よく見ると、コマンドの最後に -v があって、重複コマンドになっているが、何故か -vr にしないと保存できないのでこの方法を採っている。しかし -vr にしなくても保存できる人とできないとがいるなど環境によって異なる。
分割されたユーザー生放送の場合、2ファイル目以降で失敗するので、lv123456789,2 などとして別アドレスとして登録する。
追記 2013/10/30
緊急生放送メンテナンス:10月29日(火)06:00~08:30‐ニコニコインフォ
このメンテナンスを終えて一部のユーザーで今までユーザー生放送を kakoroku で保存できなかった人が保存できるようになり、保存できた人ができなくなった。
コマンドは 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 キーを押す。
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
有料放送などのAPIが暗号されたの録画・保存
RTMPDumpHelper(rtmpsuck)を使って解析して、command.txt(古いバージョンでは Command.bat で出力されたり、それ自体も出力されないことがある)に出力される最終行のコマンドをコピペし、改めてメモ帳などにコピーし、拡張子を「.bat」に変更して rtmpdump がある場所にバッチファイルを移動して実行する。3時間以上ある場合はそこで分割されるのでそこの時間までシークして再度コマンドを取得する。しかし、2013年6月頃から公式生放送では3時間単位で分割されなくなった。不具合
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 は付けなくても保存できるかもしれない。Version 1.5.0 から引数が指定できるようになった。
コマンドを実行するには cmd.zip を保存し rtmpdump と同じフォルダ内に解凍して、cmd を実行し、コマンドをコピペすればコマンドラインから rtmpdump を実行できる。
この方法で保存した場合にうまく再生できない動画が保存された場合は、時間指定を短くするか時間指定をせずに保存してから各種ツールでカットする。
ニコニコ動画に関係する編集と再生ツールのまとめ
コマンドを調べる方法
- MediaBox を使う
- RTMPExploreX(rtmpsuck)を使う
- RTMPDumpHelper(rtmpsuck)を使う
- NCVRTMPDumpWrapper を使う
- kakorokuRecorder を使い、Process Explorer でコマンドを調べる
- APIから直接調べる ほげに至る病-ニコニコミュニティ のコミュトップにある「PlayerStatusを確認する為のブックマークレット」が便利
- MediaBox を参照
- RTMPExploreX を参照
- ブラウザと一緒に RTMPDumpHelper(rtmpsuck)を起動して録画したい放送を見るだけ
- NCVRTMPDumpWrapper はNCV(NiconamaCommentViewer)のプラグイン NCVRTMPDumpWrapper の配布コミュニティ より保存して、プラグイン(P)< RTMPDumpWrapper < 設定 < RTMPDump.exe の PATH を namarokuRecorder で使っているニコ生用のrtmpdumpを指定する。NCVで放送に接続して、プラグインでは出力先を「なし」にするとコマンドが出力されるのでそれを一 時的にコピペする。
- Process Explorer を使う方法は、Process Explorer - technet.microsoft.com より保存し、解凍する。インストール不要なのでそのまま起動できる。kakorokuRecorder で保存しているときに Process Explorer を起動して起動プロセス内の rtmpdump をダブルクリックして「Command line:」の下のコードをすべてコピペする。
- 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"
TSのない放送のコメントを保存する方法
一般的にはTSのコメントは kakoroku で保存するが、TSがない放送にはTS視聴時ができないので同時にコメントも保存できない。この場合は生放送中に kakoroku でコメントだけ保存することで取得開始した時から放送開始までのコメントを保存することができる。この方法を取るには kakorokuRecorder.exe をコピーして kakorokuRecorder1.exe などとして、TSの映像保存とコメント保存を別にすることで楽に解決でき、普段のTS保存も別にするとTS保存の時間短縮にもなる。
kakorokuRecorder はTSの映像だけを保存。
kakorokuRecorder1 はTSのコメントだけを保存。
kakorokuRecorder1 の設定。
kakorokuRecorder の設定は「放送データを録画する」にチェックを付け、「同時にコメントも取得する」チェックを外す。
録画・保存に必要なツールまとめ
生放送の場合
- ユーザー生放送と一般的なチャンネル生放送 = namarokuRecorder + nht.r.ribbon.to の rtmpdump-2.4-git-20131007_20131123.zip
- 普通の公式生放送 = namarokuRecorder + 同梱の rtmpdump, nht.r.ribbon.to の rtmpdump-2.4-git-20131007_20131123.zip でも可能
- 上の方法で録画できない放送
= namarokuRecorder + KSV さんの rtmpdump + 「-R」オプション - 上3つの方法では録画できないチャンネルの録画放送
= RTMPDumpHelper(rtmpsuck) - 有料生放送で getplayerstatus が暗号化されている放送
= RTMPDumpHelper(rtmpsuck) で解析して KSV さんの rtmpdump - チャンネル生放送でプレミアム会員なら録画できるが一般会員だと録画できない放送
今のところ録画できないので TS で保存する。
タイムシフトの場合
- ユーザー生放送 = nht.r.ribbon.to から rtmpdump-2.4-git-20131007_20131123.zip で kakoroku で保存 or RTMPDumpHelper(rtmpsuck) で放送を見ながら放送時間分をかけて保存
- 有料生放送 = RTMPDumpHelper(rtmpsuck) で解析して KSV さんの rtmpdump
- 上の2つ以外 = kakorokuRecorder + 同梱の rtmpdump
TSの動画からサムネイルを出力することも出来ます。
この記事は以下の記事のまとめです。
- 【kakoroku】 タイムシフトがコメント付きで高速で保存できます 【ニコ生】
- 【超パーティー】 TS保存方法
- 【rtmpdump】 続 有料生放送を保存する方法
- 【rtmpdump】 ニコ生のTSの放送前の準備時間を保存しない方法
ニコ生を ffplay を使って再生することもできます。詳しくは 【librtmp】 ffmplay で rtmp を入力ソースにする を参照。
rtmpdump のコマンドに関しては rtmpdump コマンド一覧と使い方を参照。
rtmpdumpが開けないので、それもあるのでしょうか?(rtmpdumpは勿論kakorokuにあったものではなくダウンロードした方です)
もしかして、一般会員だと保存できないとかあるのでしょうか?
たくさん質問してしまいすみません。