電子書籍の機能を使用するには、記事を購入してください
追記 2014/05/19
有料放送などのAPIが暗号されたの録画・保存の部分について。
タイムシフト(以下TS)の保存
使うツールは kakorokuRecorder。
kakorokuRecorder 起動時の画面
TS の保存をより便利にする機能もあり、放送ページの一括登録、同じ放送内で分割された TS があればそれだけ保存、TS だけ・コメントだけ保存、TS のエンコード(要:ffmpeg 非推奨)ができる。
普通の公式生放送やチャンネル生放送は kakorokuRecoder でログインして放送アドレスを登録することで録画できるが、ユーザー生放送や有料生放送は少し手間をかける必要がある。
ニコ生TSの一括登録に便利なサイト
ユーザー生放送のTSの場合
追記 2013/11/14
生放送メンテナンス:11月14日(木)06:00~08:30‐ニコニコインフォ
11月14日のメンテナンスで再びユーザー生放送の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 をクリックし、オプションの画面もクリックして終わり。これでいつも通りに kakorokuRecorder で保存できるようになるが、ユーザー生放送は放送時間だけ保存に時間がかかる。よく見ると、コマンドの最後に -v があって、重複コマンドになっているが、何故か -vr にしないと保存できないのでこの方法を採っている。しかし -vr にしなくても保存できる人とできないとがいるなど環境によって異なる。
分割されたユーザー生放送の場合、2ファイル目以降で失敗するので、lv123456789,2 などとして別アドレスとしてアドレス欄に登録する。
有料放送などのAPIが暗号されたの録画・保存
RTMPDumpHelper(rtmpsuck) を使って解析
詳しい解説:RTMPDumpHelper の使い方
RTMPDumpHelper と同じフォルダ内に rtmpsuck を移動して、RTMPDumpHelper を起動。Opitions で実行されるのが下の図のように rtmpsuck であるのを確認して Options ウインドウを閉じて、RTMPDumpHelper を起動したままニコ生の有料放送を見る。
すると、黒い DOS 画面にコマンドが流れるので、それを確認したら一度 RTMPDumpHelper を閉じる。そして、同じフォルダ内にある command.txt に出力される最終行のコマンドをメモ帳などにコピペし、拡張子を「.bat」に変更して保存。rtmpdump がある場所にバッチファイルを移動して実行。
ここで command.txt に出力されない場合は、上の場所から rtmpsuck を使っていない場合と、ブラウザの種類(基本は 32bit のブラウザを使う)と Flash Player のバージョンが原因である。
3時間以上ある場合はそこで分割されるのでそこの時間までシークして再度コマンドを取得する。例外として2013年6月頃から公式生放送では3時間単位で分割されなくなった。
不具合
kakorokuRecorder でコメントを保存した時に特に22時から26時くらいの時間帯でコメントの一部が歯抜けになることが発生するので、その場合は保存する時間帯を朝など放送が混雑していない時間帯にするか、他のコメビュー、例えば NCV でコメントを保存する。
kakorokuRecorder の保存形式を flv(変換なし)以外で保存すると動画が保存されないことがあるので、原則flv(変換なし)で保存する。
仕様
TS は放送が途切れた場合や、公式生放送を除いて3時間以上の放送は3時間毎に必ず分割される。分割されたくなければ生放送中に録画する。 kakorokuRecorder にはオリジナルのファイルが分割されていないのに分割する機能はない。長時間の TS の場合に一度の放送登録では2ファイル目以降の TS ファイルが保存できないことがあるのでファイル数を指定して保存する。方法は放送アドレスに「,2」などと指定してアドレス登録する。
例:2番目のTSが登録される
http://live.nicovideo.jp/watch/lv107698169,2
ユーザー生放送のTSの最後の1分で分割されて2つの動画になることがよくあるが、これは仕様である。動画を連結する方法は ニコ生のTSを無劣化で連結する Andy's FLV Joiner を参考にする。
追記 2013年4月17日
本家ブログの方で更新しました ユーザー生放送のTSの仕様について
TSの特定の時間だけ保存
rtmpdump の -A, -B, -R のオプションを使ってTSの特定の時間だけを保存する方法。 注意点に、生放送ではなく TS に限定されることと、ユーザー生放送の TS には使えない。
例えば kakorokuRecorder でTSを保存したファイル名に「lv89834106_ 【悠木碧・内山夕実出演】咲らじ-阿知賀女子学院麻雀部- 第2局 - ニコニコ生放送_vpos-89000_1.flv」があるとする。この「vpos-89000_1」が重要で「-89000」は100分の1としたマイナス890秒から動画が始まり、890秒経つとニコ生の放送開始時間と同じ所から再生される。公式生放送の場合は待ち時間が大抵10分、一挙放送のアニメやニコファーレなどの放送は 30分待ち時間があるのでその時間を足した時間から本編が始まる。
「_1」は1番目のファイルで、2番めのファイルの場合は「_2」というファイル名になる。
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ファイルで音声だけで映像が流れない場合
kakorokuRecoder それ自体には映像と音声を分離して保存することはできない。TS を再生してニコ生上では映像が流れるのに保存した TS では映像が流れない原因は映像と音声の始まり時間の時差にある。これが一定時間以上離れていると一般的なプレイヤーでは音声だけで映像が流れない。ニコ生上では映像が流れるので、Flash Player を使って再生する方法、例えばニコ動にアップロードしても映像が流れる。
再生方法
まずは、kakorokuRecoder の配布コミュの掲示板(6561番目のレス)より、flvrepair Ver.0.03 を保存。起動して適宜先頭のブロック数を指定する。映像が送れるファイルほど削るブロック数を増やす。100削ればほとんどの動画は再生できるようになる。削るブロック数が多すぎるとそれだけファイル容量が小さくなる。変換後ファイル名は「上書き保存する」ではなく、「ファイル名[r0].flvの名前で保存する」にして、オリジナルのファイルがうまく再生できることを確認するまでは破棄しない。設定が終わったら、TS ファイルを flvrepair の起動画面に放り込めば TS ファイルと同じ場所に処理したファイルが保存される。
保存された動画に映像が流れれば、それでおしまい。流れなければ保存された動画にもう一度 flvrepair で処理することで映像が流れる動画のできあがり。
下に「この記事は有料です。記事を購読すると、続きをお読みいただけます。 」とありますが、この記事は全文を公開しています。為になった、著者を支援したい方は 100 ニコニコポイントで購読できます。詳しくは こちら。
いくつか質問があるのですが、
まず、TSの録画はブラウザの方でTSを再生しながらでないと出来ないでしょうか?
また、もしそうだとして、自分のPCは今現在回線の具合が悪い状況にあり、ブラウザの方での再生はややがくがくしたものとなっているのですが、これは録画の方に影響しますでしょうか?
最後に、5時間ほどある公式生放送の録画を今行っているのですが、1時間半くらいでまだ20%ほどしか録画が出来ていない状況です。これが普通の速度ということで問題は無いでしょうか?
初歩的な質問ばかりで大変申し訳ないのですが、お答えの方頂けると幸いです。