Skip to content

Accesses to radiko API, gets media playlist URL and built header for HTTP request to its URL.

License

Notifications You must be signed in to change notification settings

road-master/radiko-playlist

Repository files navigation

radiko playlist

Test CodeQL Code Coverage Maintainability Dependabot Python versions X URL

Accesses to radiko API, gets media playlist URL and built header for HTTP request to its URL.

Features

This is light weight library for interacting with radiko API to get information to access to media playlist. We can find various usages by integrating with other libraries.

Example

Following example requires additional installations:

Record Live

import time

import ffmpeg

from radikoplaylist import MasterPlaylistClient, LiveMasterPlaylistRequest

master_playlist_request = LiveMasterPlaylistRequest("FMT")
master_playlist = MasterPlaylistClient.get(master_playlist_request, area_id="JP13")

stream = ffmpeg.input(
    master_playlist.media_playlist_url,
    headers=master_playlist.headers,
    copytb='1'
)
stream = ffmpeg.output(stream, "./record.m4a", f='mp4', c='copy')

# @see https://github.com/kkroening/ffmpeg-python/issues/162#issuecomment-571820244
popen = stream.run_async(pipe_stdin=True)
recording_minute = 30
time.sleep(recording_minute * 60)
popen.communicate(str.encode("q"))
time.sleep(3)
popen.terminate()

Record Time Free (7-Day)

import ffmpeg

from radikoplaylist import MasterPlaylistClient, TimeFreeMasterPlaylistRequest

master_playlist_request = TimeFreeMasterPlaylistRequest(
    "NACK5", 20200529210000, 20200529230000
)
master_playlist = MasterPlaylistClient.get(master_playlist_request, area_id="JP13")

stream = ffmpeg.input(
    master_playlist.media_playlist_url,
    headers=master_playlist.headers,
    copytb='1'
)
stream = ffmpeg.output(stream, "./record.m4a", f='mp4', c='copy')
ffmpeg.run(stream)

Record Time Free (30-Day)

For accessing programs within the past 30 days, you need a radiko premium account. First, log in to radiko.jp in your browser, then get the radiko_session cookie value from your browser's developer tools.

import ffmpeg

from radikoplaylist import MasterPlaylistClient, TimeFree30DayMasterPlaylistRequest

master_playlist_request = TimeFree30DayMasterPlaylistRequest(
    "802", 20251214220000, 20251214223000
)
master_playlist = MasterPlaylistClient.get(
    master_playlist_request,
    area_id="JP13",
    radiko_session="your_radiko_session_value_from_cookie_here"
)

stream = ffmpeg.input(
    master_playlist.media_playlist_url,
    headers=master_playlist.headers,
    copytb='1'
)
stream = ffmpeg.output(stream, "./record.m4a", f='mp4', c='copy')
ffmpeg.run(stream)

About

Accesses to radiko API, gets media playlist URL and built header for HTTP request to its URL.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published