Fixing Radiko Streaming Issues (2026)

更新日: 2026.08.6

概要

今まで聞けたRadikoが今年に入って聞けなくなりました。何が起きているのか確かめてみました。

Radiko web radio

現状の確認と対策

認証は問題無い

下記の様にラジオ局のIDと名前が取得出来るので認証は通っているようです。

No. 0 ID: TBS , name: TBSラジオ
No. 1 ID: QRR , name: 文化放送
No. 2 ID: LFR , name: ニッポン放送
No. 3 ID: RN1 , name: ラジオNIKKEI第1
No. 4 ID: RN2 , name: ラジオNIKKEI第2
No. 5 ID: INT , name: interfm
No. 6 ID: FMT , name: TOKYO FM
No. 7 ID: FMJ , name: J-WAVE
No. 8 ID: JORF , name: ラジオ日本
No. 9 ID: BAYFM78 , name: BAYFM78
No. 10 ID: NACK5 , name: NACK5
No. 11 ID: YFM , name: FMヨコハマ
No. 12 ID: IBS , name: LuckyFM 茨城放送
No. 13 ID: ABCR-KOSHIEN , name: オーディオ高校野球
No. 14 ID: JOAK , name: NHK AM(東京)
No. 15 ID: JOAK-FM , name: NHK FM(東京)

問題はStreamingのURL。つなぎ方が変わったみたいでず。

Webの開発ツールで接続方法を確認

ChromeでRadikoにアクセス。開発ツール(F12)のネットワークでアクセス方式を確認すると下記の様になっていました。

https://alliance-stream-radiko.smartstream.ne.jp/so/playlist.m3u8?station_id=FMJ&l=15&lsid=38f041c67b282c89bfe8bdb152c441cd&type=b
  • 白の部分は固定
  • 赤はラジオ局のID
  • 青は16進32桁の乱数(多分)

このフォーマットに合わせてURLを作成しMPVに渡して見ました。

radiko.py python
# ========================================== # 3. ライブ配信の再生 (最新サーバーURL + mpv直結方式) # ========================================== def Radiko_play(): global _play, _authtoken, _proc_pt, _station_ID _play["play"] = 1 station_id = _station_ID[_play["st_sel"]][0] station_name = _station_ID[_play["st_sel"]][1] live_url = "https://alliance-stream-radiko.smartstream.ne.jp/so/playlist.m3u8" lsid = hashlib.md5(str(random.random()).encode("utf-8")).hexdigest() params = { "station_id": station_id, "l": 15, "lsid": lsid, "type": "b", } target_url = f"{live_url}?{urlencode(params)}" print(f"再生局: {station_name} ({station_id})") print(f"ライブ再生URL: {target_url}") cmd = [ "mpv", "--no-video", f"--http-header-fields=X-Radiko-AuthToken: {_authtoken}\r\n", target_url, ] print("再生を開始します...") _proc_pt = subprocess.Popen(cmd)

見事に繋がりました。

今回のコード

今回はRaspberry PI 3Bで動くことを確認しました。

  • OSはLEGACY 64-BIT LITE (Bookworm no desktop) を使いました
  • Imagerで SSHを有効にしてインストールして下さい
  • 完了後、PIにログインして下記を実行。アップデートとmpvのインストールです。
    • sudo apt update
      sudo apt full-upgrade -y
      sudo apt install mpv
  • 音声出力を確認
    • 今回はヘッドフォンを使います。
    • sudo raspi-config -> System Options -> Audio と進み bcm2835 Headphones を選択
    • cat /proc/asound/cards コマンドでそれが何番かを確認
    • @raspi:~ $ cat /proc/asound/cards
      0 [Headphones ]: bcm2835_headpho - bcm2835 Headphones
      bcm2835 Headphones
      1 [vc4hdmi ]: vc4-hdmi - vc4-hdmi
      vc4-hdmi
    • コードは0番に設定されています。もし違ったら下記の -c の次の文字(3箇所)を修正して下さい。
    • radiko.py python
      def Set_Vol(vol): cmd_vol = f"amixer -c 0 sset PCM {vol}%" subprocess.run(cmd_vol.split()) global _play if _play.get("mute", 0) == 1: cmd_mute = "amixer -c 0 sset PCM mute" else: cmd_mute = "amixer -c 0 sset PCM unmute" subprocess.run(cmd_mute.split())
    • ここからコードをダウンロードして解凍。
    • Raspberry PIのIPアドレスを確認して python3 radiko.pyと実行
    • ブラウザを上げてURL欄に "http://Raspberry PIのIPアドレス:8080” と入力。Radikoが上がります。
      • Radiko web radio part II

最後に

またRadikoが聞ける様になりました。同じ事をESP32に行ったのですが、こちらは動きませんでした。接続方法が違った事以外に ”playlist.m3u8"の中身も変わった様です。ESP32では理解出来ない内容になった様です。

SINCE 2026