現在、この日本語訳はまだ未完です。ご了承ください。
下手な日本語で申し訳ありません
yt-dlp-rajikoとは?
yt-dlp-rajikoは配信ダウンローダー「yt-dlp」用エクストラクター プラグイン です。エリアフリーで日本の民間ラジオ局の配信された番組をダウンロードできます。生配信も録音できます。日本以外でもでき ます!
スマホアプリとなりすまして、地域制限が完全にバイパスします。この方法は元々jackyzy823さんの 「rajiko」ブラウザ拡張機能のために開発されました。
インストール方法
Python
wheelをダウンロードする。 または pip
install --extra-index-url
https://427738.xyz/yt-dlp-rajiko/pip/ yt-dlp-rajiko
yt-dlp 2023.06.22以上が必要です。
yt-dlpをpipでインストールした場合は、pipコマンドを実行してください。 pipxでインストールした場合はpipx
inject --index-url https://427738.xyz/yt-dlp-rajiko/pip/
yt-dlp yt-dlp-rajiko
でyt-dlpの環境にプラグインをインストールしてください。
Python wheelの場合は、以下のいずれの保存先にダウンロードしてください
~/.config/yt-dlp/plugins/
(LinuxやMacの場合)%appdata%/yt-dlp/plugins/
(Windowsの場合)yt-dlp.exe
の隣にyt-dlp-plugins
フォルダ
- yt- dlpのドキュメントに記載されているその他の保存先
最新リリースのSHA256チェックサムはこちら:
d3fdefb4c5c1d5d64c58b3f805bf64ae95f3dd9f496742d214e16e33e677c600 yt_dlp_rajiko-1.1-py3-none-any.whl
29463780d0dcc3be4448eea87f72884c1878e1ea01ccfb823293a42ca6a694b9 yt_dlp_rajiko-1.1.tar.gz
pipが自動検証
過去のリリース
70b95f25a62b465f1fb26f0e6faef45236d55a0c12665ef4f754cd39832118cf yt_dlp_rajiko-1.0-py3-none-any.whl 993e16a3423a43dbeaee59c6eb37086f4e801dcfe03042aa5c5c01b0085fdc4d yt-dlp-rajiko-1.0.tar.gz
ソースコードはこのサイトとgithubとtarballで ご覧いただけます。
If you'd like to be notified of new releases, you can subscribe
to this RSS feed:
https://427738.xyz/yt-dlp-rajiko/CHANGELOG.xml
If you'd like to see the changelogs of past releases, you can
read that feed in your browser as well.
Please note that the feed is currently only available in
English.
If you'd prefer to be notified by email, you can use one of the many RSS to email services. I've tested Feedrabbit and found it to work, but other options are available. Alternatively, shoot me a message with your email address and I'll work something out.
ご利用方法
こんな風にご利用する
# タイムフリーダウンロードの場合
yt-dlp 'https://radiko.jp/#!/ts/INT/20240308230000'
# 生録音の場合
yt-dlp 'https://radiko.jp/#!/live/CCL'
# 生録音の速記
yt-dlp 'https://radiko.jp/#FMT'
検索ページで使えると、ダウンロードが少し自動になります。
# 角松敏生に関連する各番組
yt-dlp 'https://radiko.jp/#!/search/live?key=角松敏生&filter=past®ion_id=all'
# 大阪より特定番組
yt-dlp 'https://radiko.jp/#!/search/live?key=world%20jazz%20warehouse&filter=past&area_id=JP27'
基本的にブラウザからコピーされたURLは大丈夫です。
If you can reliably get it in the search, you can somewhat-automate downloading it. If there's a programme that airs on multiple stations, the best way to filter down to the station you want is to use the search's 地域 (region) filter.
推奨設定
yt-dlp's default settings aren't ideal for yt-dlp-rajiko. These are the settings I use to make it better.
TL;DR: -N 30 --embed-metadata --embed-thumbnail -o
"%(title)s %(timestamp+32400>%Y-%m-%d_%H%M)s
[%(id)s].%(ext)s"
(put that in an alias)
+ --download-archive "archive" --playlist-reverse
--break-on-existing --break-per-input
if using the
search page
メタデータ
radiko offers a lot of metadata
about its shows, a fair amount of which yt-dlp-rajiko extracts.
But yt-dlp's default settings don't expose anything except the
title.
Add the argument --embed-metadata
to your
command. This will embed the show name, description, station
name and airdate into the file, as tags that should be picked up
by a decent media player. It also embeds the tracklist of songs
played as timestamped chapters.
You can also add --embed-thumbnail
to add the
show image as cover art, which your media player can display.
I use an output template to add the airdate into the filename
as well:
-o "%(title)s %(timestamp+32400>%Y-%m-%d_%H%M)s
[%(id)s].%(ext)s"
-> World Jazz Warehouse
2024-05-19_2300 [CCL-20240519230000].m4a
+32400
is the JST time offset (+9h), since yt-dlp's
timestamps are all UTC.
Efficiency
-N
(並列ダウンロード機能)を利用すると、ダウンロードがかなり速くなります。
If you're using search queries, you should:
- filter for タイムフリー (timefree), so you don't get episodes that haven't aired yet.
- use
--download-archive
, so episodes you've already downloaded don't get downloaded again - Use
--break-on-existing
and--break-per-input
, and then you can stop once you've got the latest episode, skipping scraping older episodes entirely.
That way you can avoid scraping any more than necessary.
(faster for you, less load on radiko, everyone wins)
This section used to recommend --playlist-reverse
for search, as the search results were returned oldest-first.
This is no longer the case- the API has started returning
results newest-first (october 2024).
putting it all together
毎回そんな全部のアーギュメントを追加するはめんどくさい。そこで、yt-dlpのコンフィグにエイリアスを作る。一引数だけを追加で
も、 全部がでてきます。so you can just type one short thing and get all of
the settings.
Make a config file in one of
the supported locations, and add --alias rdk 'PASTE
THE ARGUMENTS HERE' to it
. Then when you want to
download from radiko, do yt-dlp 'url' --rdk
and
it'll all "just work™". Unfortunately site-specific config isn't
possible (yet?), so you will have to remember to add that --rdk
every time.
If you're going to be using the search pages regularly, you should put your command into a shell/batch/etc script. That way you can just run it after the programme(s) you're interested in have aired, with no extra faff.
お問い合わせ
Github
で報告してください。
故障を報告する場合は、ぜひverbose logを含めてください (コマンドの終わりに-v
を追加しま
す)。大変助かります。
雑記(英語のみ)
専用ページで。以前はGithub Wikiでホストされました。
謝辞
The mobile spoofing code is based heavily on the rajiko browser extension by jackyzy823, released under the Unlicense. In particular, the fake phone details and GPS coordinate generation code have been copied almost verbatim. You can read their write-up (in Chinese) here.
The authentication code, and some parts of the metadata extraction, have been adapted from yt-dlp's radiko extractor, which was primarily authored by Lesmiscore (also released under the Unlicense).