Skip to content
nnn-revo2012 edited this page Nov 24, 2024 · 4 revisions

livedl-n

ニコ生を録画するツールです。(Nicolive recording tool.)

はじめに

このページでは、livedl-n(以下livedl)の使い方について説明します。
本ツールはhimananiitoさんが作成されたlivedlを元にしてnnn-revo2012がニコ生の仕様変更対応、機能追加を行ったツールです。

ダウンロード

以下にWindows版のビルドがあります。
https://github.com/nnn-revo2012/livedl-n/releases
その他の環境については、各自でビルドしてください。ビルド方法が分からない場合は以下を参照ください。
See https://github.com/nnn-revo2012/livedl-n

使い方(概要)

コマンドライン(PowerShellやコマンドプロンプト,シェル等)で実行して下さい。
ただし、PowerShellの場合は基本的には livedl は ./livedl と読み替えて下さい。

  • 起動時に放送URLがオプションに渡された場合はそのまま録画を開始します。
  • 放送URL及び各オプションは半角スペースで区切って下さい。

コマンドラインで以下のように実行します。

livedl [COMMAND] options... [--] FILE

コマンド/COMMAND

以下のいずれかを指定。ただし、FILEでURLを入力してサイトが判定できる場合には指定不要。

COMMAND 説明
-nico ニコニコ生放送の録画
-tcas ツイキャスの録画
-d2m 録画済みのデータベース(sqlite3)を動画ファイル(mp4/ts)に変換する
-dbinfo 録画済みのdb(.sqlite3)の各種情報を表示する e.g. livedl -dbinfo -- 'C:/home/hogehoge/livedl/rec/lvxxxxxxxx.sqlite3'
-d2h [実験的] 録画済みのdb(.sqlite3)を視聴するためのHLSサーバを立てる(-db-to-hls) 開始シーケンス番号は(変換ではないが) -nico-conv-seqno-start で指定 使用例:livedl lvXXXXXXXXX.sqlite3 -d2h -nico-hls-port 12345 -nico-conv-seqno-start 2780

オプション/option

OPTION 説明
-h ヘルプを表示
-v バージョンを表示
-no-chdir 起動する時chdirしない(conf.dbは起動したディレクトリに作成されます)
-- 後にオプションが無いことを指定

その他のオプションは各サイトオプションの場合の説明を見て下さい。

ファイル/FILE

録画したいURL、固有のID(いずれかの録画コマンド)またはファイル名(ローカルファイル操作コマンド)を指定します。

プログラムの終了方法

録画中に終了する場合は、正しく終了するためにコンソールの画面上でCtrl-Cを入力して終了して下さい。
プログラムを突然終了した場合にZIP/データベース ファイルの最終処理ができません。

設定ファイルについて(備考)

設定はログイン情報設定ファイル(account.db)と一般オプション設定ファイル(conf.db)の2つに保存されます

ログイン情報設定ファイルには、サイト(ニコニコ)のログイン情報が保持されます。
ログイン情報設定ファイルの場所は以下の優先度が最も高いものとなります。

  • 環境変数 LIVEDL_DIR がある場合、$LIVEDL_DIR 直下の account.db
  • 環境変数 APPDATA がある場合、$APPDATA/livedl/account.db
  • 環境変数 HOME がある場合、$HOME/.livedl/account.db
  • Windowsでのデフォルトは、%APPDATA%\livedl\account.db です。

ログイン関連で問題が出た場合は本ファイルを削除してみて下さい。

一般オプション設定ファイルには、コマンドのオプション(ファイル名フォーマット)など、アカウント情報以外が保持されます。
一般オプション設定ファイルの場所は実行ファイルと同じディレクトリの conf.db です。

設定関連で問題が出た場合は本ファイルを削除してみて下さい。

オプション(ニコニコ生放送)

オプション                設定保持 説明
-nico-login id,password ニコニコのIDとパスワードを設定し設定ファイルに書き込む 2段階認証(MFA)に対応しています
-nico-cookies firefox firefoxのcookieを使用する(デフォルトはdefault-release) profileまたはcookiefileを直接指定も可能 スペースが入る場合はquoteで囲む 下記別表参照
-nico-session Cookie[user_session]を指定する
-nico-hls-port portnum [実験的] ローカルなHLSサーバのポート番号。指定時に、指定のポート番号にHLSのサーバーを立てる。ffplay(確認済)やVLC(未確認)等にて、http://127.0.0.1:<指定したポート番号> にアクセスすることで映像を確認することができる。接続時に時間がかかることがあるので、localhostではなく127.0.0.1とすることを推奨。
-nico-limit-bw num 新配信におけるプレイリストのBANDWIDTHの上限値を設定する。設定値を下回るプレイリストがない場合、最も小さいものを使用する。0 = 制限なし(デフォルト) audio_high or audio_only = 音声のみ
-nico-fast-ts 新配信での倍速タイムシフト録画を有効にする
-nico-fast-ts=(on/off) 上記設定を保持する
-nico-format "FORMAT" 新配信における保存時のファイル名を指定する。デフォルトは "?PID?-?UNAME?-?TITLE?" 。例えば、recというフォルダの下に、ユーザ名でフォルダを分けたい場合は "rec/?UNAME?/?PID?-?UNAME?-?TITLE?" のようにする。拡張子をここで指定しないこと。FORMATについては下記別表参照。
-nico-auto-convert=on 録画終了後自動的に動画ファイルに変換するように設定
-nico-auto-convert=off 上記を無効に設定
-nico-auto-delete-mode 0 自動変換後にデータベースファイルを削除しないように設定(デフォルト)
-nico-auto-delete-mode 1 自動変換で動画ファイルが分割されなかった場合のみ削除するように設定
-nico-auto-delete-mode 2 自動変換で動画ファイルが分割されても削除するように設定
-nico-login-only=on 必ずログイン状態で録画する
-nico-login-only=off 非ログインでも録画可能とする(デフォルト)
-nico-force-reservation=on 視聴にタイムシフト予約が必要な場合に自動的に上書きする
-nico-force-reservation=off 自動的にタイムシフト予約しない(デフォルト)変換オプション(-nico-auto-convert=on または -d2m の変換時)
-nico-skip-hb=on コメント書き出し時に/hbコマンドを出さない
-nico-skip-hb=off コメント書き出し時に/hbコマンドも出す(デフォルト)
-nico-ts-start タイムシフトの録画を指定した再生時間(秒)から開始する
-nico-ts-stop タイムシフトの録画を指定した再生時間(秒)で停止する
上記2つは <分>:<秒> または <時>:<分>:<秒> の形式でも指定可能
-nico-ts-start-min タイムシフトの録画を指定した再生時間(分)から開始する
-nico-ts-stop-min タイムシフトの録画を指定した再生時間(分)で停止する
上記2つは <時>:<分> の形式でも指定可能
変換オプション
-nico-conv-seqno-start MP4への変換を指定したセグメント番号から開始する
-nico-conv-seqno-end MP4への変換を指定したセグメント番号で終了する
-nico-conv-force-concat MP4への変換で画質変更または抜けがあっても分割しないように設定
-nico-conv-force-concat=on 上記を有効に設定
-nico-conv-force-concat=off 上記を無効に設定(デフォルト)
-nico-adjust-vpos=on コメント書き出し時にvposの値を補正する(デフォルト) vposの値が-1000より小さい場合はコメント出力しない
-nico-adjust-vpos=off コメント書き出し時にvposの値をそのまま出力する
-extract-chunks=off -d2mで動画ファイルに書き出す(デフォルト)
-extract-chunks=on -d2mで各々のチャンクを書き出す
-conv-ext=mp4 変換時の出力の拡張子を.mp4とする(デフォルト)
-conv-ext=ts 変換時の出力の拡張子を.tsとする
HTTP関連
-http-skip-verify=on TLS証明書の認証をスキップする (32bit版対策)
-http-skip-verify=off TLS証明書の認証をスキップしない (デフォルト)
-http-timeout タイムアウト時間(秒)デフォルト: 5秒(最低値)

FORMATで指定可能な変数一覧

変数 説明
?PID? ProgramId。lv1234567のような文字列。
?UNAME? ユーザ名。公式の場合、"official"
?UID? ユーザID。nicovideo.jp/user/に続く数字の列。公式の場合、"official"
?CNAME? チャンネル名。公式の場合、"official"
?CID? チャンネルID。co1234のような文字列。公式の場合、"official"
?TITLE? 放送タイトル。
?YEAR? 年4桁。開場ではなく開演時刻。以下同じ
?MONTH? 月2桁
?DAY? 日2桁
?DAY8? 年4桁,月2桁,日2桁: "20180901"
?DAY6? 年2桁,月2桁,日2桁: "180901"
?HOUR? 時2桁
?MINUTE? 分2桁
?SECOND? 秒2桁
?TIME6? 時2桁,分2桁,秒2桁
?TIME4? 時2桁,分2桁

画質一覧

画質   -nico-limit-bw
8Mbps 1080p60fps 14400000
6Mbps 1080p30fps 10800000
4Mbps 720p60fps 7200000
super_high(3Mbps) 5400000
high(2Mbps) 3600000
normal(1Mbps) 1800000
low(384Kbps) 691200
super_low(192Kbps) 345600
音声のみ audio_high
音声のみ audio_low

Firefoxのcookieを使用する

-nico-cookies firefox[:profile|cookiefile]

  • profile default-release のcookieを取得
livedl -nico-cookies firefox
  • profile NicoTaro のcookieを取得
livedl -nico-cookies firefox:NicoTaro
  • 直接cookiefileを指定
livedl -nico-cookies firefox:'C:/Users/*******/AppData/Roaming/Mozilla/Firefox/Profiles/*****/cookies.sqlite'

※Mac/Linuxで cookies from browser failed: firefox profiles not foundが 表示される場合は報告おねがいします
※直接cookiefile指定の場合は必ず'か"で囲ってください
※プロファイルにspaceを含む場合は'か"で囲ってください

初めて実行する場合(ニコニコ生放送のアカウント設定)

ニコニコ生放送は、ほとんどの場合ログインが必要になるので-nico-login id,password オプションにてニコニコのIDとパスワードを設定して下さい。
(ログイン不要の番組の録画やfirefoxのcookieを利用する場合はこのオプションは不要)
IDとパスワード、及びクッキー(セッション)は設定ファイルに保存されるため、1度-nico-loginを指定した後は、指定不要です。

例(コマンドプロンプト):

livedl -nico-login "[email protected],password" lv333333333

例(Powershell、bash(sh)):
** 必ずシングルクオーテーションで囲ってください **

./livedl -nico-login '[email protected],password' lv333333333

2回目以降(ニコニコ生放送) アカウント情報の指定は不要です。

livedl lv333333333