aniDLの使い方の解説記事
まえがき
aniDL はコマンドラインアプリなので、操作はコマンドプロンプト経由になります。Windows 10, 11 ではコマンドプロンプトの発展版である Windows PowerShell がデフォルトアプリですが、PowerShell だとファイル命名コマンド(--fileName )の ${…} の部分が上手く機能しないので、それも含めてコマンドプロンプトからの操作をお勧めします
どうしても PowerShell が良いという場合は、ご自身で各コマンドを修正して PowerShell でも実行できるように頑張ってみてください
aniDL の導入手順や使い方の基礎知識に関しては下記のページで解説されています
各コマンドの公式ドキュメントのページはこちら(※英語)
1つ1つ細かく書くと内容が長くなって散らかりそうなので、要点のみ取り上げていきます。コマンドプロンプトの利用経験が全く無くて、本記事を読んでも使い方が全然理解できなかったという場合、記事の購入者限定で個別サポートさせていただきます。その場合は Twitter のアカウント宛にメンションしていただければ、相互フォローの後DMで対応します
本記事は全文無料で公開しますので、Google検索を駆使して自己解決できるなら課金は不要です
コマンドの解説
login
aniDL --service funi/crunchy/hidive --auth
mail address, password の入力を求められます
ログインするサイト毎に下記のようにコマンドを入力します(下記の current directory は私の環境で aniDL.exe が保存されてる場所です)
aniDL.exe が存在しないフォルダからコマンドを入力したい時は、aniDL.exe のフルパスを入力する形式にすれば動きます
ログインに成功すると下記のようなtokenファイル(*_token.yml)が生成される
search
・Funimation, Hidive
aniDL --service funi/hidive --search ***
このコマンドを使うと、各作品に対応するID(numeric code)が調べられます。DLする時にこのIDを使います
*** に調べたい作品のタイトルを入力します。なお、hidive での search の場合の半角スペースは AND として機能しますが、funi の場合は OR として機能しているようなので、funi の場合はタイトルの一部だけ入力したほうが効率よくヒットします
Crunchyroll でIDを調べる場合は直接Webから調べるほうが簡単です(コマンドで調べることも可能は可能)
list up
・Funimation, Hidive
aniDL --service funi/hidive -s ***
このコマンドを使うと、該当作品の配信中のエピソードが全て表示されます
*** には作品ID(numeric code)を入力します
FunimationのIDに関しては、下記ページに情報がまとめられています(まっくんさんの多大な尽力に圧倒的感謝)。シリーズIDの欄に記載されている数字をコピペしてください。ただし配信が既に終了してる作品も何点かあります
HidiveのIDは search の項目に書いたコマンドを使って調べる必要がありますが、Hidiveから動画をDLする時に Hidive Ch. on Amazon でEnglish CC字幕が入手できる作品のIDは一通り調べたので、そのSpread Sheetのリンクを掲載しておきます(Hidiveで配信されていない作品が少し混じってるかも・・・謝罪)
ID1/ID2 の形式で記載している作品は、どちらを使ってもデータは同じようです
・Crunchyroll
aniDL --service crunchy --srz ***
crunchyroll の場合、少しだけコマンドが変わります
*** にはURLの一部として組み込まれているIDの部分をコピペします
Crunchyroll の場合は下記のように --srz を使います
ちなみに、[Z: ---] の下にある [S: ---] は シーズンIDで、シーズンIDを使ってDLする場合は、Funimation, Hidive 同様 -s を使います
下記の例だと、Season.2 だけをDLしたければ -s G6WEK7086 と入力し、Season.3 だけをDLするなら -s GRZJ8QPV6 と入力します。両シーズンを一気にDLするなら --srz GR5V95N8R を使います
download
さて、本丸であるDLコマンドの解説ですが、ここでは私が使用するコマンドに絞って紹介します
・3つのサイト全てで使うもの
--dlsubs en / --nosubs
--dlsubs en の場合、英語の字幕のみDLします。字幕が付いてない場合はDLされません
--nosubs を使うと字幕DLがスキップされます
--novids
映像のDLをスキップする。字幕だけをDLしたい時に主に使う
Funimation は大半の動画が video track と audio track に分けてDLされた後、merge処理されて動画ファイル(*.mp4/mkv)になる仕様なので、Funimation で --novids を使うと audio track のみのDLになる
なお、Crunchyroll, Hidive とFunimationの極一部のエピソードでは --novids を使うと、動画のDLスキップとなる(--nosubs と組み合わせると何もDLせずにコマンドが進行する)
--dubLang eng/jpn
engだと英語吹き替え版の動画、jpnだと日本語音声版がDLされる
公式ドキュメントでは --dubLang eng jpn も使用可能と記載されているが経験上、実際は殆ど使い物にならない(全く使わないわけではないが、--dubLang eng jpn を使うのは audio.eng.ts(英語音声の audio track) と audio.jpn.ts(日本語音声の audio track) のファイルサイズが同一の時だけ。大半のエピソードは両言語の audio.tsファイルサイズに相違があるため、英語版と日本語版を別個にDLしないと、片方の言語は音ズレ動画になってしまう)
--all / -e (--but)
どのエピソードをDLするかの指定コマンド
各エピソードに対するナンバリングは下記4種類がある
1.数字のみ:本編
2.S+数字:主に総集編や特別編などのエピソード
3.V+数字:主にOVA
4.M+数字:劇場版エピソード
--all を使うと S,V,M でナンバリングされたエピソードも全てDL対象となるlist up の項目のコマンドを使って表示されたエピソード全てをDLするなら --all を使うのが一番手っ取り早い
DLしたいエピソードを個別に指定する場合は -e を使う。下記の画像を例に解説すると
-e 128 と入力すると、episode #128 がDLされる
-e 125,128 だと、episode #125, #128 の2つ
-e 125-128 だと、episode #125~128 の4つ
-e 128-180 だと、episode #128, #179, #180 の3つ(テニスの王子様 の場合[0128]の次が[0179]に飛んでいるため、リストに含まれない数字は無視される。[0129] や [0130]がリストにあれば当然DL対象となる)
-e V35-36 だと、ova#01(=[V0035])とova#02(=[V0036])の2つ
-e V35,36 だと [V0035]と[0036]がDL対象となる(ただし、Funimationでの配信は記事執筆時点では[0051]~なので、実際は[V0035]だけがDL)。ova#02とova#04だけをDLしたい場合は、-e V36,V38 と入力する必要がある
なお、S,V,M は case sensitive(大文字・小文字が区別される)仕様なので、DL対象に含めるなら大文字での入力が必須となる
--but
-e に入力したエピソード以外をDLするコマンド。従って --but は -e と組み合わせての使用になる
例えば全12話配信の作品に対して、-e 1-3 --but と入力すると4~12話がDL対象になる。全20話の作品で11~20話だけをDLする場合、 -e 11-20 という入力でも良いし、 -e 1-10 --but と入力する方法もある
--fileName
保存する時のファイル名を指定するコマンド。省略した場合は下記の Default 欄の命名規則に従う
StreamFabの命名規則に揃えたい場合は
--fileName ${showTitle}_S${season}E${episode}_${title} となる
Hulu US からDLする時に合わせる場合だと
--dublang eng なら --fileName "${showTitle}_S${season}E${episode}_(Dub) ${title}"
--dublang jpn なら --fileName "${showTitle}_S${season}E${episode}_(Sub) ${title}"
となる。空白付きのファイル名にしたい場合は、"(ダブルクオーテーション)必須
CleverGet式にしたいなら
--fileName "[S${season}.E${episode}] ${title}" となる
--skipSubMux
字幕ファイル(*.srt/ass)を動画ファイル(*.mp4/mkv)と分けて保存したい時に使うコマンド。aniDL よりも高速にDLできる Crunchyroll 専用ダウンローダー を併用するまでは Crunchyroll からDLする時には使っていた。HidiveからDLする時に字幕を動画と分けて保存したい時にも使う(後になって動画ファイル内の字幕を抽出したくなった場合は ffmpeg を使えば単離できる)
-q
DL画質の指定コマンド。配信がSDかHDかで選択幅に差がある
funi: SD 1~4(234~432p) / 1~5(~540p), HD1~9(234~1080p)
SD480/486と書かれてるエピソードはSD画質、SD540/HD1080と書かれてるエピソードはHD画質で配信されている
エピソードの一部は10段階のものがある
crunchy: SD 1~3(~480p), HD1~5(~1080p)
--mp4
動画の拡張子を指定するコマンド。上の場合 *.mp4 で保存される。--mkv と書くと *.mkv で保存される。mp4 のほうがアプリの対応が圧倒的に多いので、こだわりが無ければ mp4 での保存をお勧めする(mp4 <-> mkv の相互変換は ffmpeg なら passthru 処理できる)
・Funimation でのみ使用するコマンド
--simul
Funimation は [uncut] [simulcast] のどちらか片方、もしくは両方が配信されている。uncut は BD版のことで、simulcast(放送版) との違いはスタッフクレジットが英語表記になってたり、歌詞のローマ字や英訳が映像に焼きつけられていたりという点となる(全作品が変更されているわけではない)
両方が配信されていて --simul が無い場合は DL対象は [uncut] となる。よほどの拘りがなければ、英語音声版は [uncut] をDLしたほうが良い。何故なら English CC 字幕の timecode が uncut に合わせて制作されているので、両方が配信されている作品で [simulcast] をDLした場合、timecode を合わせないと音ズレしてしまう
なお、[uncut] をDLしようとすると HTTP ERROR 403 となって、かつ [simulcast]も配信されているなら、--simul を使うとDLできる場合がある。基本的に --simul の用途は [uncut] のほうがDLできない時に限られると思う
--force c
DL済みの tsファイルがある場合、それをmergeに流用するコマンド。
Choices の欄にあるように選択肢は y/n/c の3つで、n を使うと tsファイルを再DLする。y にするとDLスキップできるがmerge処理もスキップされるので、tsファイルとして保存したい場合以外は c を使えば良い
tsファイルはDLできたけど mergeに失敗した場合も、これを使えば良い
--noaudio
audio track のDLをスキップするコマンド。単独で使う用途は殆ど無いが、--novids と組み合わせて字幕だけをDLしたい時などは多用している
--nocleanup
merge処理をした後も ts, srt/ass を削除せず残しておきたい時に使うコマンド。基本的に使うことはないので、頭の片隅に覚えておく程度で問題ないと思う
コマンドの実践例
実際に私が各コマンドをどう組み合わせているかを紹介します
細かい所は場合によって使い分けてますが、雛形としてメモ帳に保存してる共用部分を抜粋します
字幕だけDL
"C:\Users\false\Videos\multi-downloader-nx-windows64-cli\aniDL.exe" --service funi -s _^
--force c -q _^
--mp4 --dubLang eng jpn^
--dlsubs en^
--novids^
--noaudio^
--fileName "${showTitle}[S${season}E${episode}]"^
-e _
一行目:aniDLのフルパス+FunimationからDL+作品ID
二行目: ts ファイルがある場合はDLスキップ+動画の画質
3行目:mp4で保存+英語版・日本語版のデータにアクセス
4行目:英語字幕のみDL
5行目:video track のDLスキップ
6行目:audio track のDLスキップ
7行目:ファイル命名規則
8行目:DL対象のエピソード
-s, -q, -e の所にある _ の部分に具体的な数字を当てはめるとDL処理が進行する。-q 0 にすると、最高画質でのDLになる(その分、ファイルサイズもDL時間も最大化する)
^(キャレット)を使うと改行が使える。コマンドが長文になるほど、改行を活用すると可読性が上がり、ミスの発見や編集の容易性につながる
--mp4 を使ってFunimationからDLした字幕の拡張子は *.srt になる
DLされる字幕は作品によって *.subtitles.eng.cc.srt(吹き替えの文字起こし) と *.subtitles.eng.srt(日本語の英訳) のどちらか片方あるいは両方となる。字幕の無いエピソードもある
DLされる字幕のデータは [simulcast]/[uncut]/[English]/[Japanese] どれからDLしても同一となっている。eng.cc.srt だけ欲しいなら [English]、両方が欲しければ [Japanese] からDLすれば良い
[uncut] をDLしようとして HTTP ERROR 403 となった場合、[simulcast] があれば --simul を付け足して再度実行
英語版だけDL
"C:\Users\false\Videos\multi-downloader-nx-windows64-cli\aniDL.exe" --service funi -s _^
--force c -q _^
--mp4 --dubLang eng^
--nosubs^
--fileName "${showTitle}_S${season}E${episode}_[eng]"^
-e _
4行目:字幕DLをスキップ
両言語の音声だけDL
"C:\Users\false\Videos\multi-downloader-nx-windows64-cli\aniDL.exe" --service funi -s _^
--novids^
--force c -q _^
--mp4 --dubLang eng jpn^
--nosubs^
--fileName "${showTitle}_S${season}E${episode}_"^
-e _^
このコマンドを実行すると *.audio.eng.ts と *.audio.jpn.ts が保存される
両言語のファイルサイズが同一であれば --novids^ だけ消して再度実行すれば多言語音声の mp4 として保存できる
サイズに差異があれば下記の内容を行う
1.英語音声と日本語音声を別々にDLできるようにファイル名を一部変更(一括変更アプリを使って)。私の場合、
英語音声 : *[eng].audio.eng.ts
日本語音声: *[jpn].audio.jpn.ts
2.--novids^ の部分を消す
3.--dubLang の部分を変える。英語をDLする時は eng だけに、日本語をDLする時は jpn だけにする
4.--filename の部分を変える。私の場合、
EN:--fileName "${showTitle}_S${season}E${episode}_[eng]"^
JA :--fileName "${showTitle}_S${season}E${episode}_[jpn]"^
以上を実行すれば、DLした tsファイルの再DLはスキップできて時間を節約できる
あとがき
大まかではあるが主要部分に関しては一通り紹介したつもりなので、後の細かい部分の調整は各自で対応していただき、自身が好む形式で使い慣れていただければと思います
個別サポート希望の場合は記事を購入後、Twitterから連絡ください
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?