? Crunchyroll 的命令列下載器。
用途? • 許可證 ⚖
我們與 Crunchyroll LLC 或其任何子公司或附屬公司沒有任何隸屬關係、維護、授權、贊助或正式關聯。 Crunchyroll 的官方網站可以在 www.crunchyroll.com 上找到。
.mkv
檔案中。查看發布標籤並從最新(預)版本中取得二進位檔案。
尿素尿率
如果您使用 Arch 或基於 Arch 的 Linux 發行版,您可以安裝我們的 AUR 軟體套件。您需要像 yay 這樣的 AUR 助手來安裝它。
# this package builds crunchy-cli manually (recommended)
$ yay -S crunchy-cli
# this package installs the latest pre-compiled release binary
$ yay -S crunchy-cli-bin
舀
對於 Windows 用戶,我們支援 scoop 命令列安裝程式。
$ scoop bucket add extras
$ scoop install extras/crunchy-cli
自製
對於 macOS/linux 用戶,我們支援brew 命令列安裝程式。軟體包由 homebrew 專案編譯,也將安裝openssl@3
和ffmpeg
相依性。
$ brew install crunchy-cli
支援的架構: x86_64_linux
、 arm64_monterey
、 sonoma
、 ventura
尼克
這需要 nix 並且您可能需要--extra-experimental-features "nix-command flakes"
,這取決於您的配置。
$ nix < run | shell | develop > github:crunchy-labs/crunchy-cli
由於我們不支援所有平台和架構,您可能必須自己建立專案。這需要 git 和 Cargo。
$ git clone https://github.com/crunchy-labs/crunchy-cli
$ cd crunchy-cli
# either just build it (will be available in ./target/release/crunchy-cli)...
$ cargo build --release
# ... or install it globally
$ cargo install --force --path .
所有顯示的指令都是範例???
crunchy-cli 要求您登入。您可以使用您的憑證(電子郵件:密碼)或使用刷新令牌進行身份驗證。
證書
$ crunchy-cli --credentials " email:password " < command >
保持匿名
沒有帳戶登入(您將無法存取優質內容):
$ crunchy-cli --anonymous < command >
您可以設定具體的設置
詳細輸出
如果要在輸出中包含偵錯訊息,請使用-v
/ --verbose
標誌來顯示它。
$ crunchy-cli -v < command >
此標誌不能與-q
/ --quiet
結合使用。
靜音輸出
如果您想隱藏所有輸出,請使用-q
/ --quiet
標誌來執行此操作。如果您想將輸出視訊傳輸到外部程式(例如視訊播放器),這尤其有用。
$ crunchy-cli -q < command >
此標誌不能與-v
/ --verbose
結合使用。
語言
預設情況下,產生的元資料(如標題或描述)以您的系統語言顯示(如果 Crunchyroll 支持,則以英文顯示)。如果您想以另一種語言顯示結果,請使用--lang
標誌來設定它。
$ crunchy-cli --lang de-DE < command >
實驗性修復
Crunchyroll 不斷改變和破壞其服務,或只是提供錯誤的答案。 --experimental-fixes
標誌嘗試修復其中一些問題。正如--experimental-fixes
中的實驗所述,這些修復可能會也可能不會破壞其他功能。
$ crunchy-cli --experimental-fixes < command >
有關此標誌影響哪些部分的概述,請參閱底層 Crunchyroll 庫的文檔,所有以stabilization_
的函數都適用。
代理人
--proxy
標誌支援 https 和ocks5 代理程式來路由所有流量。這可能有助於繞過 Crunchyroll 對某些系列的地理限制。您也可以設定應在 cli 的哪個部分使用代理程式。除了普通的 url,您還可以使用:
僅代理 api 請求)、: :
(僅代理下載流量)、
(透過第一個url 代理api 請求和下載流量通過第二個網址)。
$ crunchy-cli --proxy socks5://127.0.0.1:8080 < command >
確保代理可以轉發 TLS 請求(這是繞過 (cloudflare) 機器人保護所需的),或對其進行配置以便代理可以繞過保護本身。
使用者代理
在某些情況下,可能需要自訂使用者代理,例如繞過 cloudflare 機器人保護 (#104)。在這種情況下, --user-agent
標誌可用於設定自訂使用者代理程式。
$ crunchy-cli --user-agent " Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) " < command >
預設是用戶代理,在底層庫中定義。
速度極限
如果您想限制請求/下載的速度,可以使用--speed-limit
標誌。允許的單位為B
(位元組)、 KB
(千位元組)和MB
(兆位元組)。
$ crunchy-cli --speed-limit 10MB
login
命令可以儲存您的會話,因此您不必每次執行命令時都進行身份驗證。
# save the refresh token which gets generated when login with credentials.
# your email and password won't be stored at any time on disk
$ crunchy-cli login --credentials " email:password "
儲存會話後,當您想要執行命令時,不再需要傳遞--credentials
/ --anonymous
。
download
命令可讓您下載具有特定音訊語言和可選字幕的劇集。
支援的網址
$ crunchy-cli download https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
$ crunchy-cli download https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
選項
音訊語言
使用-a
/ --audio
標誌設定音訊語言。只有當 url 指向系列時此方法才有效,因為劇集 url 是特定於語言的。
$ crunchy-cli download -a de-DE https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設是您的系統區域設定。如果 Crunchyroll 不支持,則預設為en-US
(美式英文)。
字幕語言
除了音訊之外,您還可以使用-s
/ --subtitle
標誌指定字幕語言。在支援它的格式(.mp4、.mov 和 .mkv)中,字幕儲存為軟字幕。所有其他格式都是硬字幕:字幕將被刻錄到視訊軌道中(請參閱硬字幕),因此無法關閉。
$ crunchy-cli download -s de-DE https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為無。
輸出模板
使用-o
/ --output
標誌定義輸出範本。
$ crunchy-cli download -o " ditf.mp4 " https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
預設為{title}.mp4
。有關更多選項,請參閱下面的範本選項部分。
特別劇集的輸出模板
透過使用--output-special
標誌定義一個輸出模板,僅當劇集為特殊劇集(劇集編號為 0 或小數位非零)時才使用該模板。
$ crunchy-cli download --output-specials " Special EP - {title} " https://www.crunchyroll.com/watch/GY8D975JY/veldoras-journal
預設是模板,由-o
/ --output
標誌設定。有關更多選項,請參閱下面的範本選項部分。
通用輸出
可以透過--universal-output
標誌強制對輸出模板選項進行清理,以便在所有受支援的作業系統中有效(Windows 有很多檔案名稱中不允許的字元...)。
$ crunchy-cli download --universal-output -o https://www.crunchyroll.com/watch/G7PU4XD48/tales-veldoras-journal-2
解決
視訊的解析度可以透過-r
/ --resolution
標誌設定。
$ crunchy-cli download -r worst https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
預設是best
。
語言標記
您可以使用--language-tagging
標誌強制在輸出檔案中使用特定語言標記。這可能很有用,因為某些影片播放器無法辨識 Crunchyroll 內部使用的語言標記。
$ crunchy-cli download --language-tagging ietf https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
FFmpeg 預設
您可以使用--ffmpeg-preset
標誌指定特定的內建預設,以便在下載時將影片轉換為特定編碼。可以使用多個預先定義的預設如何編碼影片(h264、h265、av1...),您可以使用crunchy-cli download --help
查看它們。如果您需要更具體的 ffmpeg 自訂,您可以手動轉換輸出檔案或使用 ffmpeg 輸出參數作為此標誌的值。
$ crunchy-cli download --ffmpeg-preset av1-lossless https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
FFmpeg 線程
如果您想手動設定 FFmpeg 應使用多少個線程,可以使用--ffmpeg-threads
標誌。這不適用於每個編解碼器/預設,並且在指定自訂 ffmpeg 輸出參數而不是--ffmpeg-preset
的預設時完全跳過。
$ crunchy-cli download --ffmpeg-threads 4 https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
跳過現有的
如果您重新下載系列但想要跳過已經下載的劇集,則--skip-existing
標誌會跳過已經存在/下載的檔案。
$ crunchy-cli download --skip-existing https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
跳過特價
如果您不想下載特別劇集,請使用--skip-specials
標誌跳過下載。
$ crunchy-cli download --skip-specials https://www.crunchyroll.com/series/GYZJ43JMR/that-time-i-got-reincarnated-as-a-slime[S2]
包括章節
Crunchyroll 有時會提供有關可跳過事件的信息,例如介紹或製作人員名單。這些資訊可以透過--include-chapters
標誌作為章節儲存在生成的視訊檔案中。
$ crunchy-cli download --include-chapters https://www.crunchyroll.com/watch/G0DUND0K2/the-journeys-end
是的
有時,不同的季節具有相同的季節編號(例如,《刀劍神域Alicization》和《黑道戰爭Alicization》都標記為第3季),在這種情況下,會顯示互動式提示,需要使用者進一步輸入來決定下載哪個季節。 --yes
標誌抑制此互動式提示並僅下載所有季節。
$ crunchy-cli download --yes https://www.crunchyroll.com/series/GR49G9VP6/sword-art-online
如果您已傳遞-q
/ --quiet
全域標誌,則會自動設定此標誌。
強制硬低音
如果您想刻錄字幕,即使輸出格式/容器支援軟字幕(例如.mp4
),也可以使用--force-hardsub
標誌來執行此操作。
$ crunchy-cli download --force-hardsub -s en-US https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
執行緒數
為了提高下載速度,透過建立多個執行緒同時下載影片片段。如果您想手動指定下載時使用的執行緒數,請使用-t
/ --threads
標誌來執行此操作。
$ crunchy-cli download -t 1 https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設執行緒數是您的電腦的 CPU 執行緒數。
archive
指令可讓您下載具有多個音訊和字幕的劇集,並將其合併到.mkv
檔案中。
支援的網址
$ crunchy-cli archive https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
$ crunchy-cli archive https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
選項
音訊語言
使用-a
/ --audio
標誌設定音訊語言。可以多次使用。
$ crunchy-cli archive -a ja-JP -a de-DE https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設值是您的系統區域設定(如果 Crunchyroll 不支持,則使用en-US
(美式英語)和ja-JP
(日文))。
字幕語言
除了音訊之外,您還可以使用-s
/ --subtitle
標誌指定字幕語言。
$ crunchy-cli archive -s de-DE https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為all
字幕。
輸出模板
使用-o
/ --output
標誌定義輸出範本。 Crunchy-cli專門使用.mkv
容器格式,因為它能夠同時儲存多個音訊、視訊和字幕軌道。
$ crunchy-cli archive -o " {title}.mkv " https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為{title}.mkv
。有關更多選項,請參閱下面的範本選項部分。
特別劇集的輸出模板
透過使用--output-special
標誌定義一個輸出模板,僅當劇集為特殊劇集(劇集編號為 0 或小數位非零)時才使用該模板。 Crunchy-cli專門使用.mkv
容器格式,因為它能夠同時儲存多個音訊、視訊和字幕軌道。
$ crunchy-cli archive --output-specials " Special EP - {title} " https://www.crunchyroll.com/watch/GY8D975JY/veldoras-journal
預設是模板,由-o
/ --output
標誌設定。有關更多選項,請參閱下面的範本選項部分。
通用輸出
可以透過--universal-output
標誌強制對輸出模板選項進行清理,以便在所有受支援的作業系統中有效(Windows 有很多檔案名稱中不允許的字元...)。
$ crunchy-cli archive --universal-output -o https://www.crunchyroll.com/watch/G7PU4XD48/tales-veldoras-journal-2
解決
視訊的解析度可以透過-r
/ --resolution
標誌設定。
$ crunchy-cli archive -r worst https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設是best
。
合併行為
由於審查制度或額外的介紹,某些劇集針對不同語言有多種長度。在最好的情況下,當使用多個音訊和字幕軌道時,只有一個視訊軌道,所有其他語言都可以儲存為純音訊。但是,如前所述,情況並非總是如此。使用-m
/ --merge
標誌,您可以定義劇集的視訊軌道長度不同時的行為。有效選項是audio
- 將一個視訊和所有其他語言僅儲存為音訊; video
- 儲存每種語言的視訊+音訊; auto
- 檢測視訊長度是否不同:如果是,則表現得像video
- 否則像audio
; sync
- 檢測視訊長度是否不同:如果是這樣,它會嘗試找到匹配音訊部分的偏移量並從開頭刪除偏移量,否則它的行為類似於audio
。字幕將始終與主要音訊和視訊相符。
$ crunchy-cli archive -m audio https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為auto
。
合併時間容差
有時,兩個影片軌道會在--merge
設定為auto
情況下下載,即使它們的長度僅相差幾毫秒,觀眾不會注意到這一點。為了防止這種情況,您可以使用--merge-time-tolerance
標誌指定一個以毫秒為單位的範圍,如果長度差異在給定範圍內,則僅下載一個影片。
$ crunchy-cli archive -m auto --merge-time-tolerance 100 https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設值為200
毫秒。
合併同步容差
有時,兩個視訊軌道會在--merge
設定為sync
情況下下載,因為音訊指紋無法辨識匹配的音訊部分(例如開啟)。為了防止這種情況,您可以使用--merge-sync-tolerance
標誌來指定兩個指紋被視為相等的差異。
$ crunchy-cli archive -m sync --merge-sync-tolerance 3 https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
預設值為6
。
合併同步精度
如果您使用--merge
設定為sync
,且同步似乎不夠準確或需要很長時間,則可以使用--sync-precision
標誌來指定計算最終偏移量的偏移量來確定運行量。
$ crunchy-cli archive -m sync --merge-sync-precision 3 https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
預設值為4
。
語言標記
您可以使用--language-tagging
標誌強制在輸出檔案中使用特定語言標記。這可能很有用,因為某些影片播放器無法辨識 Crunchyroll 內部使用的語言標記。
$ crunchy-cli archive --language-tagging ietf https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
FFmpeg 預設
您可以使用--ffmpeg-preset
標誌指定特定的內建預設,以便在下載時將影片轉換為特定編碼。可以使用多個預先定義的預設如何編碼影片(h264、h265、av1...),您可以使用crunchy-cli archive --help
查看它們。如果您需要更具體的 ffmpeg 自訂,您可以手動轉換輸出檔案或使用 ffmpeg 輸出參數作為此標誌的值。
$ crunchy-cli archive --ffmpeg-preset av1-lossless https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
FFmpeg 線程
如果您想手動設定 FFmpeg 應使用多少個線程,可以使用--ffmpeg-threads
標誌。這不適用於每個編解碼器/預設,並且在指定自訂 ffmpeg 輸出參數而不是--ffmpeg-preset
的預設時完全跳過。
$ crunchy-cli archive --ffmpeg-threads 4 https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
預設字幕
--default-subtitle
設定將哪種字幕語言標記為預設和強制。
$ crunchy-cli archive --default-subtitle en-US https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為無。
包括字體
您可以使用--include-fonts
標誌將字幕所需的字體直接包含到輸出檔案中。當在支援它的視訊播放器中播放影片時,這將使用嵌入的字幕字體而不是系統字體。
$ crunchy-cli archive --include-fonts https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
包括章節
Crunchyroll 有時會提供有關可跳過事件的信息,例如介紹或製作人員名單。這些資訊可以透過--include-chapters
標誌作為章節儲存在生成的視訊檔案中。僅當--merge
設定為audio
時此標誌才有效,因為章節無法對應到特定視訊串流。
$ crunchy-cli archive --include-chapters https://www.crunchyroll.com/watch/G0DUND0K2/the-journeys-end
跳過現有的
如果您重新下載系列但想要跳過已下載的劇集,則--skip-existing
標誌會跳過已經存在/下載的檔案。
$ crunchy-cli archive --skip-existing https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
跳過現有方法
預設情況下,已存在的檔案由其名稱決定,並跳過相應劇集的下載。但有時 Crunchyroll 會在已有的劇集中添加配音或字幕,而這些更改不會被識別,而--skip-existing
只是會跳過它。可以透過--skip-existing-method
標誌來變更此行為。有效選項是audio
和subtitle
(如果檔案已存在,但音訊/字幕少於應下載的內容,則劇集將下載並覆蓋檔案)。
$ crunchy-cli archive --skip-existing-method audio --skip-existing-method video https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
跳過特價
如果您不想下載特別劇集,請使用--skip-specials
標誌跳過下載。
$ crunchy-cli archive --skip-specials https://www.crunchyroll.com/series/GYZJ43JMR/that-time-i-got-reincarnated-as-a-slime[S2]
是的
有時,不同的季節具有相同的季節編號(例如,《刀劍神域Alicization》和《黑道戰爭Alicization》都標記為第3季),在這種情況下,會顯示互動式提示,需要使用者進一步輸入來決定下載哪個季節。 --yes
標誌抑制此互動式提示並僅下載所有季節。
$ crunchy-cli archive --yes https://www.crunchyroll.com/series/GR49G9VP6/sword-art-online
如果您已傳遞-q
/ --quiet
全域標誌,則會自動設定此標誌。
執行緒數
為了提高下載速度,透過建立多個執行緒同時下載影片片段。如果您想手動指定下載時使用的執行緒數,請使用-t
/ --threads
標誌來執行此操作。
$ crunchy-cli archive -t 1 https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設執行緒數是您的電腦的 CPU 執行緒數。
search
指令是查詢 Crunchyroll 函式庫的強大工具。它的行為類似於網站上的常規搜索,但能夠進一步處理結果並返回它能找到的所有內容,從系列標題到原始流 URL。將此命令與--anonymous
標誌或非高級帳戶一起使用可能會傳回不完整的結果。
支援的網址/輸入
$ crunchy-cli search https://www.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome
$ crunchy-cli search https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
$ crunchy-cli search " darling in the franxx "
選項
聲音的
透過--audio
標誌設定要搜尋的音訊語言。可以多次使用。
$ crunchy-cli search --audio en-US https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設是您的系統區域設定。
結果限制
如果您輸入的是搜尋字詞而不是網址,則您有多個選項來控制要處理的結果。 --search-top-results-limit
標誌設定要處理的熱門搜尋結果的限制。 --search-series-limit
僅設定係列的限制, --search-movie-listing-limit
僅設定電影列表, --search-episode-limit
僅設定劇集, --search-music-limit
僅設定音樂會和音樂影片。
$ crunchy-cli search --search-top-results-limit 10 " darling in the franxx "
# only return series which have 'darling' in it. do not return top results which might also be non-series items
$ crunchy-cli search --search-top-results-limit 0 --search-series-limit 10 " darling "
# this returns 2 top results, 3 movie listings, 5 episodes and 1 music item as result
$ crunchy-cli search --search-top-results-limit 2 --search-movie-listing-limit 3 --search-episode-limit 5 --search-music-limit 1 " test "
--search-top-results-limit
的預設值為5
,所有其他的預設值為0
。
輸出模板
搜尋命令旨在僅顯示您想要的特定資訊。這是透過-o
/ --output
標誌完成的。您可以以特定模式指定關鍵字,它們將在輸出文字中被替換。所需的模式以{{
,然後是關鍵字,並以}}
結束(例如{{episode.title}}
)。例如,如果您想要取得劇集的標題,可以使用Title: {{episode.title}}
並且{{episode.title}}
將被替換為劇集標題。您可以使用crunchy-cli search --help
查看所有支援的關鍵字。
$ crunchy-cli search -o " {{series.title}} " https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx
預設為S{{season.number}}E{{episode.number}} - {{episode.title}}
。
您可以使用各種範本選項來變更檔案名稱的處理方式。以下標籤可用:
{title}
→ 影片標題{series_name}
→ 系列名稱{season_name}
→ 季節名稱{audio}
→ 視訊的音訊語言{width}
→ 視訊的寬度{height}
→ 影片的高度{season_number}
→ 季節編號{episode_number}
→ 劇集編號{relative_episode_number}
→ 相對於季節的劇集編號{sequence_number}
→ 與{episode_number}
類似,但沒有可能的非數字字符{relative_sequence_number}
→ 與{relative_episode_number}
類似,但支援第 0 集和 0.5 集{release_year}
→ 影片的發布年份{release_month}
→ 影片的發布月份{release_day}
→ 影片的發布日期{series_id}
→ 系列 ID{season_id}
→ 賽季 ID{episode_id}
→ 劇集 ID例子:
$ crunchy-cli archive -o " [S{season_number}E{episode_number}] {title}.mkv " https://www.crunchyroll.com/series/G8DHV7W21/dragon-ball
# Output file: '[S01E01] Secret of the Dragon Ball.mkv'
過濾器模式可用於下載單一系列中特定範圍的劇集。
濾鏡模式可以由季節、劇集或兩者的組合組成。組合使用時,季節S
必須在劇集E
之前定義。
有許多可能的模式,例如:
...[E5]
- 下載第五集。...[S1]
- 下載整個第一季。...[-S2]
- 下載前兩季。...[S3E4-]
- 下載第三季第四集以後的所有內容。...[S1E4-S3]
- 下載第一季,從第四集開始,然後下載第二季和第三季。...[S3,S5]
- 下載第三季和第五季。...[S1-S3,S4E2-S4E6]
- 下載第一季到第三季,然後下載第四季的第二集到第六集。實際上,它看起來像這樣:
https://www.crunchyroll.com/series/GY8VEQ95Y/darling-in-the-franxx[E1-E5]
此工具僅供私人使用。您需要訂閱 Crunchyroll Premium 才能存取優質內容。
您對使用 crunchy-cli 時發生的情況負完全責任。
該項目已獲得 MIT 許可證的許可 - 有關更多詳細信息,請參閱許可證文件。