AbemaTVの録画方法メモ
閉じる
閉じる

AbemaTVの録画方法メモ

2018-10-16 23:36
  • 10

2019年1月4日加筆
 - コメントより、Abema側の仕様変更により既存のabematv.pyでは動画データの取得ができなくなったようです。abematv.pyの中身に関しては専門外なので有志によるアップデートを待つ他無し。

2018年10月19日加筆
 - アーカイブ録画の利用に関して加筆【重要】
2018年10月16日加筆
 - VFRからCFRに無劣化変換するため、ffmpegを用いた録画ファイル変換手順について加筆【重要】

質問ご意見等→jekton712◆yahoo.co.jp
ブロマガのコメント欄は見ていません。


目次

・放送録画
 ・録画の注意点

・コメント取得
・コメント編集
・アンケート再現
・投稿時の注意点


放送録画

streamlink(録画)ffmpeg(変換)を使用する。
初めに導入方法。録画開始は手順5へ。

●手順1
以下よりstreamlinkのポータブル版をダウンロードし、任意のディレクトリに解凍。
https://github.com/streamlink/streamlink-portable/releases
ここではCドライブ直下に置くこととし、話を進める。

●手順2
以下よりAbema用プラグインを入手。
https://github.com/streamlink/streamlink/blob/master/src/streamlink/plugins/abematv.py
(メモ帳にコピペして、ファイル名を拡張子ごとabematv.pyにして保存)
streamlinkのPluginsフォルダにabematv.pyを保存。

●手順3
下記URLよりffmpeg.exeをダウンロードし、streamlinkフォルダ内へ。
https://www.ffmpeg.org/download.html

●手順4
ⅰ)Windowsスタートボタンを右クリック→検索 より「cmd」と検索。
ⅱ)検索結果にコマンドプロンプトが出てくるので、右クリック→ファイルの場所を開く を選択。
ⅲ)出てきたフォルダにコマンドプロンプトのショートカットがあるので、それをコピーし自分の使いやすい場所に保存。
ⅳ)コピーしたショートカットを右クリックしプロパティを開く。ショートカットタブ中程に「作業フォルダー(s)」というボックスがあるので、そこにstreamlinkのフォルダパスを入力し、OKを押す。
 ※(例)C:\streamlink
 Cドライブ直下以外に置いた場合でフォルダパスが良く分からないひとはこちら参照。
 →http://www.koikikukan.com/archives/2014/03/18-015555.php

上記設定をすることで、そのショートカットの作業ディレクトリがstreamlinkのあるフォルダに設定され、毎回作業ディレクトリを移動する必要がなくなる。
以降はこのショートカットよりコマンドプロンプトを起動させる。

●手順5
先ほどのショートカットよりコマンドプロンプトを起動し、以下のコマンドを入力。

streamlink "URL" best -o output.ts & ffmpeg -i output.ts -vcodec copy -acodec copy output.mp4

URLには録画したい放送のアーカイブリンクまたはビデオリンクを入力。
また、outputには任意のファイル名を入力。
.tsと.mp4の2つの録画ファイルが得られるので、.tsは削除する。


【注意点】
※基本的にビデオ化された録画かタイムシフトを録画する。(TS公開期間に注意。)

●生録画について

・CMに入る部分で破損が起こり、それ以降正常に再生できなくなるので実質不可能。(手動でCMを回避すればできないこともない。)

タイムシフト動画について
・生録画と異なり最後まで録画できるが、カットされたCM部分に映像破損が発生する。
映像破損は、CM分の映像が欠損してしまうことにより発生する模様。
→映像破損に関しては、新しく追加したffmpegによる無劣化変換により修正されるので、この問題はなくなった。

ビデオ化された動画について
・ビデオ化された動画の場合は破損が起こらないため、ビデオ化されている場合はそちらを録画するようにする。
・基本的にビデオ動画はVFR(可変フレームレート)の模様。AviutlやAvidemuxなどで直接編集しようとすると音ズレするので注意。
→ffmpegで無劣化CFR変換する手順を加えたので、こちらの問題も解消された。
・動画下部に「この放送は○月○日に放送された番組です」といったテロップが入ってしまうことがあるので、これが嫌な場合はタイムシフトを。


コメント取得

jkcommentviewerを使用。
DL→http://air.fem.jp/jkcommentviewer/

リアルタイムでコメント取得し保存。
URLには個別放送ページ(slotID)ではなく"now-on-air"のURLを指定。
例)https://abema.tv/now-on-air/ultra-games

※過去ログ取得機能もあるが10,000件程度しか遡ることができないため、コメント数が多い放送ではリアルタイム取得が基本となる。

次の番組に切り替わっても引き続きコメントは取得し続けることができるので、取得したい番組の冒頭からピッタリ取得開始する必要はない。
(目的の番組の放送開始前から取得しっ放しでもOK)

「ファイル>コメントをファイルに保存」でxmlファイルに保存できる。


コメント編集

保存されたxmlファイルはそのままプレイヤーでコメントを流せる形式になっているので、
himaplayerやこめたんぷれいやを使用し、コメント位置を確認できる。
放送内での発言や所作に対するコメントのレスポンスを頼りにコメント位置を調整することになるが、以下の点に注意。

●手順1(飛ばしてもOK
jkcommentviewerでは、コメント量が多いと負荷からコメントが固まって取得される傾向がある。
そのままコメントを結合すると、1~2秒おきにコメントの塊が断続的に流れる不自然な動画となってしまう可能性があるので、これを回避したい場合は以下の編集を行う。
※プレイヤーでコメントを流してみて、全体を通して上記の現象が起こらない場合はこの手順は飛ばしてOK。手間もかかるのであまり推奨もしない。

【1】コメント行を全てコピーし、Excelに貼り付ける。
【2】データ>区切り位置で「"」を指定し、データを各列に分ける。
【3】以下の数式を用いてvpos値に乱数を付加する。
   "=ROUND([vpos値を含むセル]-***,0)+RANDBETWEEN(0,300)"
   ***減算値は100~250くらいの間で入れてみて、元の値との差が少ないものを採用。
【4】CONCATENATE関数でバラバラになったコメント行を復元する。(「"」の列を足すのを忘れない)

●手順2
アーカイブ録画はCM部分がカットされているので、その分コメントをカットし詰める必要がある。
CMは毎回180秒間の決まりがあるようなので、CM明けの「やあ」弾幕を目印にしながらCM部分のコメントカット&CM明けのコメントからvpos約18000減算を行う。

手順1でExcelに読み込ませている場合はExcel上で減算するのが楽だが、手順1を飛ばした場合はNicomentXenoglossiaでCM分を減算してもOK。
どちらの場合にせよ、CM部分のコメントを削除し忘れないよう注意。
(削除したCM部分のコメントは、万が一コメント位置調整に失敗した際に復元できるよう、未調整元ファイルはバックアップを取っておく。Excel作業時にはCM部分のコメント行は削除せずに非表示行にしておくのが良い。)

数秒程度は前後するため、減算後はプレイヤーでコメントを流しながらこまめに確認するべし。

●手順3
基本的にコメント量が多すぎて、そのまま結合すると画面が見えなくなる可能性大。
コメント間引きにはNicomentXenoglossiaを使用する。
DL→http://xenog.web.fc2.com/

【1】上記の編集が終わったファイルをNicomentXenoglossiaにD&D
【2】「(6)コメント数制限」の「する」の箱と、「間引き」の箱にチェックする。その他のチェックは全て外す。
【3】再構成後のコメント最大数を右の箱に入力。まずは全コメント数の半分くらいでコメントを流して確認した後に、多すぎればもう少し減らすイメージ。
※※60~70ミリ秒以内の2連続まで削除 くらいになるように減らすとちょうど良い(経験則)
【4】「再構成」ボタンを押すと修正されたコメントファイルが出力される。

※全コメント数を確認するには、NicomentXenoglossiaで空再構成したコメントファイルのコメント行の前に記入される「thread last_res="XXXX"」を見る。


アンケート再現

Abemaの放送内で行われたアンケートは、ニコ生のようにコメントファイルに記録されたりアーカイブに残ることはない模様。
今のところリアルタイム視聴時に内容を記録するしか手段はない。

アンケートが実施されたら、
●アンケート開始・結果表示・表示終了の各タイミング … 大体の放送時間と、出演者の発言などの場面をメモしておくとよい。
アンケートの質問文・選択肢の文面
アンケート結果の数値
の3点を記録する。

アンケートを録画で再現するには、さきゅばす結合時にアンケートが表示されるようなコメント行を作成し、コメントファイルに組み込む必要がある。
注意点としては、
(1)さきゅばすのバージョンはSaccubus1.67.2.11を使用すること(これ以降のバージョンではアンケートの質問文が表示されないバグ有)。
(2)コマンドに「premium="7"」を追加すること。
(3)作成したアンケート行は手順3のコメント間引き後にコメントファイルに挿入すること。順番を逆にすると、アンケート行が間引かれる可能性がある。なお、アンケート行の挿入場所は問わない。1行目のコメント上に配置でOK。
(4)user_id、date、noは適当で良い。大事なのはvpos(表示タイミング)とpremium="7"。


【テンプレ】
<chat user_id="hoge" date="1" vpos="500" no="1" premium="7">/vote start [アンケート質問文] [質問1] [質問2]</chat>
<chat user_id="hoge" date="1" vpos="1000" no="2" premium="7">/vote showresult per [結果1*10] [結果2*10]</chat>
<chat user_id="hoge" date="1" vpos="1500" no="3" premium="7">/vote stop</chat>


※結果には%値の10倍の値を入力。68.2%なら682

【例】
<chat user_id="hoge" date="1527263302" vpos="500" no="1" premium="7">/vote start どっちがいい? AAA BBB</chat>
<chat user_id="hoge" date="1527263329" vpos="1000" no="2" premium="7">/vote showresult per 682 318</chat>
<chat user_id="hoge" date="1527263366" vpos="1500" no="3" premium="7">/vote stop</chat>



以上。
質問ご意見等→jekton712◆yahoo.co.jp

広告
×
LIVEの場合、破損があっても、映像はavidemux 2.5.6でmp4にできます。編集も可能。ただし2倍速となります。
音声は同様にXMedia Recodeでaacとして作成可能。映像はffmpegなどで1倍速に変換できますが、時間がかかり
ます。まあ、映像と音声を別々の再生として、映像の再生を1/2のスロー再生で見るというのが簡単ですね。
16ヶ月前
×
streamlinkを強制終了させるコマンドってありますか?
13ヶ月前
×
ログインしてプレミアム向けをDLできたりしますか?
9ヶ月前
×
>>3
Ctrl+Cで強制終了できます
9ヶ月前
×
>>4
Abemaのプレミアム向け動画(配信?)というものを把握していないので何とも言えませんが、
以前プレミアムお試し期間にプレミアム会員のみ後から見れる生放送コメントを落とそうとしたところ、元ファイルにアクセスすることができませんでした。
9ヶ月前
×
見逃し配信の無いMETROCKを生録画しようと思っているのですが、Abemaで生録画する場合は番組毎のURLはなくてチャンネル毎のURLですよね?番組が終わった段階で録画を終了させるには、Ctrl+Cでの強制終了かコマンドプロンプトを閉じる感じでしょうか?
9ヶ月前
×
>>7
はい、now-on-airのURLです。以前個別URLで試した時には録画できませんでした。
録画を止める際には強制終了させてください。

ちなみに、ある見逃し配信のない放送にstreamlinkでアクセスしたところ、「お使いのデバイスでは視聴できないコンテンツです」と表示された静止画面が録画されたことがありました。その場合はAbema側で対策されているようですので、諦めるほかありません。
9ヶ月前
×
>>8
わかりました。
ありがとうございます。
9ヶ月前
×
せっかくffmpegをダウンロードしてもこのままではパスが通ってないから実行できないか、すでにパスを通した別のffmpegで実行してしまう気がするのですが、どうでしょうか?C直下に置けば問題ないんですかね?
5ヶ月前
×
この方法はもう使えません。多分。
apiがBadRequestを返してしまっているんで。(API自体は動いているからabematv.pyをカスタマイズすればいいかも。)
2ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。