Abema-DL.jseをより使いやすく改造してみた備忘録

ソフトウェア

ファイルパスの大半と.mp4自動的に入力させ、画質をbest固定にします。
tsukumijima.net様が紹介するAbemaTVのダウンロードスクリプトを、手入力すべき内容を減らすために、jseファイルを数行だけ書き換えたので、方法と記述した箇所の意味を備忘録として残しておきます。

PowerShellを用いたAbema-DL.jseを、より簡便に用いるための改変を紹介します。

Abema-DL.jse」はtsukumijima様が紹介してくださったもので大変便利かつ有用な素晴らしいものです。

AbemaTV を Streamlink で直接録画・ダウンロードする
毎回忘れてしまうので備忘録がてらメモ。Streamlink 側のアップデートなどの変化により、執筆当初の2019年1月とは状況がかなり異なってきています。このため、2021年11月に記事の内容を大幅にリニューアルしました。導入手順も以前より

おかげさまで今までに数十作以上の無料アニメをローカル保存できました。

ここに御礼申し上げます。

ありがとうございます!

追記:Pythonで同様の機能を自作しました。

連続で複数話をダウンロードしたくなり、jseファイルの情報少ないので、pyで作りました

以下のような特徴をもちます。

  • 全話一挙放送を単一の動画ファイルとして保存
  • 各話ごと異なるファイルとして保存
  • 画質の変更
  • 保存場所・タイトルなどカスタマイズ可

Pythonのため.jseファイルよりは親しみ易く、カスタマイズも容易かと思われます。

よろしければこちらをご覧ください。

1,画質選択時に自動で最高画質「best」を指定させる

デフォルト動作

デフォルト動作では、このように画質を選択できます。

これはデフォルトのままの場合(引用元:https://blog.tsukumijima.net/article/streamlink-abematv/#toc7)

best・1080p・720p・480p・360p・240p・180p から選んで手入力する必要があるため、ダース単位でダウンロードするときには少々面倒です。

最も、これはストレージ具合に合った画質を選べるようにとの配慮から来るもので、邪魔などと感じては罰当たりかもですが。

改変する記述&その場合の動作~常にbestを選択させる~

Abema-DL.jseをメモ帳などで開き、編集します。

約44行目あたりの1行を以下のように書き換えます。

    # 動画・生放送の画質
 
    #改変前の記述
    #$quality =Read-Input '    動画・生放送の画質'

    #改変後 常時bestにする
    $quality =  'best'

勿論、「best・1080p・720p・480p・360p・240p・180p 」のいずれかを入力すれば、常時360pや常時180pも実現可能です。

この場合、問答無用でbestが選択されるので、画質入力が不要になりました。

改変後

こっち↓は改変前

これはデフォルトのままの場合(引用元:https://blog.tsukumijima.net/article/streamlink-abematv/#toc7)

メッセージなどは手を加えていませんが、こちらも弄ろうと思えば改変できますね。

    # 動画・生放送の画質
 
    #改変前の記述
    #$quality =Read-Input '    動画・生放送の画質'

    #改変後 常時bestにする
    $quality =  'best'

2,「ファイル絶対パス」と「.mp4」を自動的に入力させる

デフォルト動作

デフォルトでは「C:\Users\abema\Test.mp4」のように、絶対パスをフルで書く必要があります。

デフォルト動作 引用元:https://blog.tsukumijima.net/article/streamlink-abematv/#toc7

しかし、ダウンロードした動画を保存する場所は大体変更しないので、改変して、予め設定したフォルダを自動的に指定します。

さらに、「.mp4」も毎回書くのは面倒なため、自動的に記述させます

こうすることで、保存したい動画のファイル名を入力するだけで、保存場所にダウンロードができるようになります。

改変する記述&その場合の動作~保存場所のパス&.mp4を自動入力~

約60行目以降の数行を書き換えます。

     Write-Host '       フォルダの指定を省略したときは、C:\Users\(ユーザー名)\Downloads に保存します。'
    Write-Host ''
   #Write-Host '    例: C:\Users\Test\Documents\Test.mp4'
    Write-Host '    保存先 G:\TSfiles\encoded\「入力されたタイトル」.mp4'
    Write-Host ''

    # 保存先のファイルパス
    #改変前こちら
    #$output_file = Read-Host '    ダウンロードした動画の保存先'

    # 改変後 自動的に入力させる
    Write-Host '    G:\TSfiles\encoded\に保存します'
    $title = Read-Host "    動画のタイトルを入力してください"
    $pass_and_title = 'G:\TSfiles\encoded\' + $title
    $output_file = $pass_and_title + '.mp4'

コメントアウトと、環境に応じて書き換えるべき場所を赤の太文字で書きました。

追記部分を赤マーカー、元の記述を青マーカーで示しました。

この場合の動作がこちらです。

改変後

この改変により、今までならG:\TSfiles\encoded\ごちうさ1話.mp4と入力していたところ、
これからは「ごちうさ1話」とだけ書けば良いようになりました。

つまり改変が成功していれば、「ごちうさ1話」と書くだけでG:\TSfiles\encoded\に「ごちうさ1話.mp4」が保存されます

五等分で実践。

まとめ Abema-DL.jseの必要入力量を減らす方法

以下のような改変を施しました。

  • 画質選択→best固定
  • ファイルパス→スクリプトを書き換え事前指定
  • .mp4→自動で付け加える

こうすることで、URLと動画ファイル名のみを入力するだけでAbema動画のダウンロードが行えます。

    # 動画・生放送の画質
 
    #改変前の記述
    #$quality =Read-Input '    動画・生放送の画質'

    #改変後 常時bestにする
    $quality =  'best'
     Write-Host '       フォルダの指定を省略したときは、C:\Users\(ユーザー名)\Downloads に保存します。'
    Write-Host ''
   #Write-Host '    例: C:\Users\Test\Documents\Test.mp4'
    Write-Host '    保存先 G:\TSfiles\encoded\「入力されたタイトル」.mp4'
    Write-Host ''

    # 保存先のファイルパス
    #改変前こちら
    #$output_file = Read-Host '    ダウンロードした動画の保存先'

    # 改変後 自動的に入力させる
    Write-Host '    G:\TSfiles\encoded\に保存します'
    $title = Read-Host "    動画のタイトルを入力してください"
    $pass_and_title = 'G:\TSfiles\encoded\' + $title
    $output_file = $pass_and_title + '.mp4'

改変するのはこれだけ。
これでダウンロードがより簡単にできるようになりました!

この辺も併せてごらん下さい

タイトルとURLをコピーしました