· 

【Vtuberファン向け】動画・配信DL環境構築(19/9/14現在)

.LIVEファンである自分が行っている動画DL・録画方法をまとめてみた。(と言っても猿真似なので詳しくはググってください)

環境はそれぞれ違うので自分は大丈夫でも全員が大丈夫とは限りません。自己責任でお願いします。

まあ「自動起動bat」と「時分秒変数を使用したファイル名の出力」を併用みたいなバカなことをしない限りは大丈夫なはずです。


通常の動画、生放送 youtube、ニコニコ(動画)
 TV放送(サイキ道、Vトーク等)  各放送局の特定放送時間、見逃し配信
イベント ニコニコ(生放送)、Abema、Openrec
シロちゃんの投稿宣伝動画、イベント宣伝動画(RAGE等) Twitter
Tiktok Tiktok、Twitter

大まかにこんな感じであろう。 

必要なものをDL

YouTube(動画とアーカイブ)、ニコニコ(動画)、OPENREC

youtube-dl.exe,ffmpeg.exe(バージョン任意)

ニコニコ(生放送)

livedl,ffmpeg.exe(バージョン任意)

YouTubeLive

streamlink(1.0.0が出たのでバージョンアップ推奨),youtube-dl.exe,ffmpeg.exe(バージョン任意)

Reality、ニコ生、実験放送

ストリームレコーダー(chrome) →非公式(自己責任でどうぞ)

Twitter

Twitter メディアダウンローダ

YouTube(動画とアーカイブ)

①youtube-dl.exeとffmpeg.exeを同じフォルダに格納。

②そのフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。

③batファイルを右クリックし編集をクリック。下記をコピペし必要に応じて足したり削ったりして保存しダブルクリックでDLできる。

youtube-dl --download-archive xxx -o "D:\xxx\%%(upload_date)s-%%(title)s-%%(id)s.%%(ext)s" 〇〇

解説

1.youtube-dl:youtube-dl.exeを起動する為のもの。

2.-download-archive xxx:xxxというファイルに、過去にDLした動画のIDを記録し、同一IDの動画をDLしないというもの。拡張子txtを付けとくと編集しやすい。

3.-o "~" 〇〇:指定したファイル名で保存するというものであり「%%(upload_date)s」はアップロード日の「%%(title)s」は動画タイトルの「%%(id)s」は動画IDの「%%(ext)s」は拡張子の環境変数で、これでシロちゃんの自己紹介を指定した場合

Dドライブのxxxフォルダに
20170812-【自己紹介】はじめまして!シロです!【001】-fLC5TE_KYcw.mkv

というファイル名で保存される。(ファイル名のみ指定した場合はyoutube-dl.exeがあるフォルダに保存される。IDは無くても良いかも。)

動画URLの場合はその動画だけを、チャンネルホームURLの場合は新しい順に限定・非公開ではない全動画を、プレイリストの場合プレイリストの上から(?)プレイリストの全動画を、DLする。

その他オプション:youtube-dl オプション一覧及びそのメモ,公式ドキュメント,汎用性の高い動画ダウンロードスクリプト"youtube-dl"の使い方

④下記のように複数のチャンネルホームURLを指定して定期的にbatファイルを起動すると良い。

youtube-dl -U
youtube-dl --download-archive xxx.txt -o "D:\xxx\電脳少女シロ\%%(upload_date)s-%%(title)s-%%(id)s.%%(ext)s" https://www.youtube.com/channel/UCLhUvJ_wO9hOvv_yYENu4fQ
youtube-dl --download-archive xxx.txt -o "D:\xxx\ばあちゃる\%%(upload_date)s-%%(title)s-%%(id)s.%%(ext)s" https://www.youtube.com/channel/UC6TyfKcsrPwBsBnx2QobVLQ

(youtube-dl -Uでyoutube-dl.exeのアップデートが行えるのでついでに入れてる。Uが大文字じゃないと機能しません。)

タスクスケジューラでPC起動時などに自動的に起動するようにしておくと良いかも。

YouTube(Live)

(DVR対応配信のみ撮る場合は自動録画を、DVR非対応の場合は予約録画を使うのを推奨。最近の.LIVEは自動録画だけでokです。もしDVR非対応に戻った場合はそれを対処できたら追記します。)

自動録画

①streamlink、youtube-dl、ffmpegをDLし解凍して出てきた全ファイル・フォルダを同じフォルダに格納

②そのフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。録画したいチャンネルの数+1個になるようにコピペ。

③batに下記をコピペして熟読し、自分用に書き換えて保存する。(基本的にフォルダの部分だけで良い)

④上のファイルだけだと手動でしか録画できないので、上のファイルを定期的に起動するファイルを作る為に、下記をコピペして改変し保存する。

改変対象:タイムアウト秒数、対象バッチファイル名、echo(文章を表示するだけのコマンド)

※これを使用してYouTubeからアクセスブロックを食らっても責任は取れません。他の使用者のことも考えて必要最低限の周期にしましょう。

720p以上ならアーカイブの方が高画質なので基本的に、さくらんぼアイスやシロちゃんのフォートナイトみたいに完全に見れなくなった部分を見る用。

予約録画
環境構築が面倒とか環境の違いで上手く行かなくて、たまに失敗しても良い人用

ニコニコ動画

・通常動画

①youtube-dl.exeとffmpeg.exeを同じフォルダに格納。

②そのフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。

③batファイルを右クリックし編集をクリック。下記をコピペし必要に応じて足したり削ったりして保存しダブルクリックでDLできる。

youtube-dl -o "D:\xxx\%%(upload_date)s-%%(title)s-%%(id)s.%%(ext)s" 〇〇

〇〇の部分でユーザーページを指定してもDLできないかも?マイリストと動画URLならできました。

文法の解説はYouTubeの方で見てください。

シロちゃんの動画はYouTubeより画質が悪く、限定動画もばあちゃるの2本くらい(他にもあったらコメントで教えてください!)ですが。

 

・チャンネル動画

①動画のプレイヤー上を右クリック→動画の読み込みを開始しました。(URL)のURLを選択して新しいタブで開き、開かれたタブの動画を右クリックで保存。保存し終えるまで前2つのタブを開いたままにしておく。

ニコニコ生放送(リアタイ&アーカイブ)

①youtube-dlをDL。(今の所はインスコ版でもzipでも多分可)

②youtube-dl.exeのある場所にテキストドキュメントを作成し拡張子をbatに変更。右クリックから以下のように編集し保存。(このbatを起動してURLを貼ればyoutubeやニコニコみたいなサイトの動画はDLできるので他の用途にも使用可能)

@echo off

:LOOP

set /p url=URLを入力してください。:

youtube-dl --no-part %url%

goto :LOOP

exit /b 0

③放送ページでchromeのF12のデベロッパーツールなりを開き再読込。m3u8で検索して出てくるplaylist~の一番上のを右クリック→copy→copy link address。

④先程作ったbatを起動。コピーしたリンクを貼り付けエンター。これで再生したところから最後まで録画できる。消音でもちゃんと音ありで録れるけど放送ページを閉じたりするとダメなのと起動したbatを途中で閉じると再生不可ファイルが出来上がるのとファイル名を変えておかないと再度録画時に自動上書きされるので注意。

ニコニコ生放送(実験放送のアーカイブ)

①リンクを開き、ストリームレコーダーをクリックして画質を最高に変更し放送音量を0にして再生速度を最大にして放置し撮りたいところまで行ったらストレコの画面で保存を押す。放送時間によってはDL出来るようになるまでに結構時間がかかり時間帯によって画質が変わり一般だと放送終了の24時間後(?)に見れなくなるので注意。

GYAO!・テレ朝動画(キャッチアップ)

※脳死ストレコでも出来そう(試してない)

①Chromeの場合、動画の視聴開始後にF12キーでデベロッパーツールを開いてからページ再読込をして、Network→フィルタマーク→m3u8、と入力→上に3つxhrファイルが表示されるので多分一番上のmasterほにゃららを右クリックでcopy→copy link address

②youtube-dl.exeと同じフォルダにテキストドキュメントを作成し拡張子をbatに変更し下記内容で保存しダブルクリックして先程のURLを貼り付けてエンター。動画生成後にファイル名や保存場所を変更していないと次回動画保存時に自動上書きされるので注意。このbatでつべの動画等のリンクを貼ってもDLできるので普段DLしないチャンネルの動画を落とすのに使うと良い。

@echo off

:LOOP

set /p url=URLを入力してください。:

youtube-dl --no-part %url%

goto :LOOP

exit /b 0

TVer

※ガリベンガーVに限ればTVerとキャッチアップは最大720pでGYAOは最大1080pなのでDL不要

TVerの動画をダウンロードするTver動画ダウンローダchrome拡張を見ればいいと思う。限定配信とか解像度が上だったりしたら真面目に書きます。

radiko

①ffmpeg.exeがあるフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。下記内容で保存。batをダブルクリックで起動。

@echo off
set /p url=m3u8のURLを入力してください。:
set /p token=tokenを入力してください。:
set /p name=ファイル名を入力してください。:
ffmpeg -headers "X-Radiko-AuthToken: %token%" -i "%url%" -acodec copy "%name%.ts"

②DLしたいアーカイブのリンクを開きchromeのF12などでデベロッパーツールを開く。放送を再生しデベロッパーツールでm3u8で検索して一番上のリンクを右クリック→copy→copy link address。先程起動したコマンドプロンプトに貼り付け。

③先程のm3u8を右クリック→Reply xhr。なんか増えるのでそれを左クリックすると「X-Radiko-AuthToken: 1nLotSQCwsRmtScdg2tu-g」みたいな所があるので「1nLotSQCwsRmtScdg2tu-g」の部分をコピーしてコマンドプロンプトに貼り付け。ファイル名を入れてエンター。おしまい。

OPENREC(アーカイブ)

①youtube-dl.exeとffmpeg.exeを同じフォルダに格納。

②そのフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。

③Chromeの場合、動画の視聴開始後にF12キーでデベロッパーツールを開き、Network→フィルタマーク→m3u8、と入力→chunklist.m3u8を右クリック→copy→copy link address

(m3u8は複数あるが、ファイル名にカーソルを合わせてよく見ると、URLの後ろの方が違うので最高画質が良ければsourceと書かれたリンクをコピー)

④batファイルを右クリックし編集をクリック。下記の〇〇に3のURLを入れてコピペして保存しダブルクリックでDLできる。

ffmpeg -i "〇〇" -c copy xxx.ts

猿真似なので試してないがyoutube-dl.exeはいらないかもしれない。

コメントのDLについては、各ストリーミング配信のダウンロード方法(要curl・ffmpeg・rtmpdump・chrome・limechat・wireshark) · GitHubを見てください。

Abema(アーカイブ)

①動画を開き、拡張機能のストリームレコーダーをクリック。

②右上のキャプチャーモードをオンにすると動画がリロードされるので、リロード後に再生速度を2倍にしてミュートしておく。動画の最後まで行くと自動で録画が止まるのでストリームレコーダーの画面から動画時間が一番長いものの保存を選択でDLできる。

(リロード後途中から再生される場合はクッキーの削除で最初から再生できます。)

現状854x480の動画しかDLできないので定期的に新しいDL方法がないか調べることを推奨。あと実況王2の一部は公式がYouTubeに1080pで上げてます。

Reality

youtube-dl

①youtube-dl.exeとffmpeg.exeを同じフォルダに格納。

②そのフォルダにテキストドキュメントを作成し、拡張子をtxt→batに変更。

③batファイルを右クリックし編集をクリック。下記をコピペし保存して起動。(汎用なので既に作成済みなら不要)

@echo off
set /p url=URLを入力してください。:
youtube-dl "%url%"

④PC用リンクを開く、chromeのF12のデベロッパーツールなりを開いてページを再読込、「m3u8」で検索して一番上に出てくるindex.m3u8じゃないやつを右クリック→copy→copy link address→上のコマンドプロンプトにペーストしてエンター。放送が終わったら自動で停止するのかは忘れた。

 

ストレコ

①ストリームレコーダーを追加。適当なHLS放送(Reality以外は分かんない…誰の放送でも良い)で事前に開いて、画質設定を最高?にしておくと良い。

②RealityのPC用URLをブラウザで開く。(Twitterで探したり、Realityをスマホにインストールして放送ページで共有ボタンを押してリンクをコピーしたり。)

③開始時間になったらページを再読込しストリームレコーダーをクリック。ストレコタブを閉じなければ停止も消音もOK。終了後保存をクリック。

 

bilibili

※bilibili-record.batにループ処理を追加しました。これにより接続が切れても5秒後に再度録画を開始するようになります。放送が始まるまでに時間があるページを対象にこれを使うと5秒ごとのアクセスがずっと行われる(軽いF5アタック)ので予約との併用を推奨。(bilibiliリレーであれば19時予約の25時半に手動でコマンドプロンプトを閉じる等。その時間に触れない場合はタスクスケジューラでbatファイルを閉じるなりPCシャットダウンなりを設定しておくと良い。)

streamlinkffmpegをDL&解凍。exeのある場所にpluginsフォルダを作成。

②pluginsフォルダにテキストドキュメントを作成し、ここの1~77をコピペ。ファイル名とファイル形式をbilibili.pyに変更。

③exeの場所にテキストドキュメントを作成し、ファイル形式をbatに変更。

(推奨ファイル名:「bilibili-record.bat」

rem remで始まる行は説明文(実行中は非表示)
rem 文字化け回避の為に一時的にコマンドプロンプトの文字コードをUTF8に変更
chcp 65001 
rem 作業ディレクトリをこのファイルがある場所に移動
cd /D %~dp0
rem 現在の年月日をファイル名に使用できる形に変更
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
rem 現在の時間をファイル名に使用できる形に変更
set time2=%time: =0%
set hms=%time2:~0,2%%time2:~3,2%%time2:~6,2%
rem 放送ページをのURLを変数urlに割当
set url=https://live.bilibili.com/21307497
:LOOP

 

rem 放送をファイル名「現在の年月日時分秒.ts」で出力(2019年9月14日19時0分0秒→20190914190000.ts)
streamlink "%url%" best -o %ymd%%hms%.ts
timeout 5
goto :LOOP
 
exit /b 0

とでも記載しダブルクリックで録画できる。(tsで一時出力してからmp4に変換した方がシークバーが動かしやすく他の無劣化出力と違い録画が中断されても壊れにくい為ts形式にしてます)

mp4への変換は、txt→batを下の内容で保存。変換したいtsファイルを下のbatにD&Dして待つだけ。

rem remから始まる行は処理のないただの説明文
rem 作業ディレクトリをこのファイルがある場所に移動
cd /D %~dp0
rem D&Dしたファイル名(ディレクトリは除き拡張子は含む)を変数filename1に割当
set filename1=%~1
rem 上のファイル名からディレクトリと拡張子を除いてファイル名の終わりに「_.mp4」を付加した文字列を変数filename2に割当(output.ts→output_.mp4)
set filename2=%~dp1%~n1_.mp4
rem filename1を元にfilename2を出力
ffmpeg.exe -i "%filename1%" "%filename2%"
pause

時間を指定して録画したい場合は下記内容でbatを作ってダブルクリックで起動してbilibili-record.batが指定された時間に起動するようにしておく。(上記の録画用batのファイル名が推奨ファイル名とは違う場合は「set record=bilibili-record」のbilibili-recordを書き換えてください。)

@echo off

 

rem 文字化け回避の為に一時的にコマンドプロンプトの文字コードをUTF8に変更

chcp 65001 

rem 現在の翌日を算出する為のもの

set YYYYMMDD=%DATE:~-10,4%%DATE:~-5,2%%DATE:~-2%

set/a ANS=YYYYMMDD+1

if 1%ANS:~-2% leq 128 goto ans

if %ANS:~-2%==32 set/a ANS+=100-31&if not %ANS:~4,2%==12 goto ans

if %ANS:~4,2%==13 set/a ANS+=10000-1200&goto ans

if %ANS:~4,2%==02 if %ANS:~-2% geq 29 set/a ANS+=2-(!(%ANS:~0,4%%%4)^^!(%ANS:~0,4%%%100)^^!(%ANS:~0,4%%%400))*(31-%ANS:~-2%)

for %%M in (02 04 06 09 11) do if %ANS:~-4%==%%M31 set/a ANS+=100-30

:ans

set string=%ANS%

 

echo.

echo -----------------------

echo 録画日を指定してください。

echo ***********************

echo エンター:今日

echo 1:明日

echo ***********************

set /p recday=録画日: 

 

if "%recday%" == "1" (

    set ymd=%string:~0,4%/%string:~4,2%/%string:~6,2%

) else if "%recday%" == "0" (

    set ymd=%date%

) else if "%recday%" == "" (

    set ymd=%date%

)

 

:LOOP

 

echo.

echo -----------------------

echo 録画開始時間を指定してください。(19時0分→19:00)

set /P hhmm="録画開始時間: "

echo.

echo -----------------------

echo 下記の内容で登録します。

echo %ymd%,%hhmm%

pause

 

rem このファイルがあるディレクトリの文字列を変数directoryに割当

set directory=%~dp0

rem 文字列bilibili-recordを変数recordに割当

set record=bilibili-record

rem 指定した日時に1度だけ、指定した実行バッチファイルを実行する

schtasks /create /sd %ymd% /tn bilibiliリレー /st %hhmm% /sc once /tr "%directory%%record%.bat" /F

 

echo.

echo -----------------------

echo ※続けて予約しない場合はコマンドプロンプトを閉じてください。

 

goto :LOOP

 

exit /b 0

Twitter

①1つDLしたい場合は動画のURLに、複数DLしたい場合は投稿者のホームに移動する。

②メディアの右側にDLマークがあるのでクリック。DLしたいものにチェックを入れて開始をクリック。日時を指定したい場合は20181030のように指定する。指定してない場合は新しい投稿順に制限数まで遡る(?)。制限数に達すると最後にDLしたメディアの日付が自動的に付加されるっぽいので続けてDLしたい場合は再度開始をクリック。

Tik Tok

Tiktok版はTiktokロゴが入るがTwitterに上げてる動画より解像度やビットレートが高いことがあるので必要に応じてそれぞれDLする。

Twitter

①Twitterメディアダウンローダーを追加し、DLしたい動画があるアカウントのTwitterを開き、メディア欄の右にあるDLボタンをクリック。

②動画にチェックを入れ開始をクリック。DL仕切れなかった場合は続けて、開始をクリックすると先程DLしたデータ以降のデータをDLしてくれるので必要なだけ繰り返す。

Tiktok

①スマホにTiktokをインストールし、DLしたい動画の投稿者のページを開く。共有ボタンでリンクをコピペし、PCブラウザで開き、右クリックでDL。

TV放送

恒久的に保存したい場合はTS抜きでggってください。自分環境ないんで出来るまでは書きません。

その他便利なもの

Icaros

webm,mkv,flv,tsなどの動画ファイルのサムネや動画情報を表示出来るようにするソフト。

mpc-hcとかmpc-beとかvlcとかQonohaとかPotPlayerとか

動画再生ソフト

セイキソビュワー(18/12/14時点では旧版でも問題ない)

YouTubeLiveのコメントをニコ生風に流したり、コメント入力欄を動画の下や動画上に移動させられる(シアターモードや全画面でも映像を見ながらコメントができる)。

コメントをお書きください

コメント: 1
  • #1

    poongs (木曜日, 10 1月 2019 23:08)

    録画ができなくなってしまいました。
    streamlink・youtube-dl両方ともダメでした。
    開発側の対応を待つしかありませんね・・・。