uru2 / rec_radiko_ts

Radiko timefree program recorder
MIT License
91 stars 14 forks source link

playlist URIがHTTP 401 Unauthorized #1

Closed uru2 closed 1 year ago

uru2 commented 1 year ago

2023-03-29 16:00(JST)頃よりffmpegでの保存時にHTTP 401 Unauthorizedとなりエラーとなる現象が発生。

おそらくffmpeg呼び出し部

-i "https://radiko.jp/v2/api/ts/playlist.m3u8?station_id=${station_id}&l=15&ft=${fromtime}00&to=${totime}00" \

のURIがハードコーディングされていることが原因。

{station_id}.xml からタイムフリーURIを抽出する処理を実装する必要あり?

uru2 commented 1 year ago

しばらく運用してみて問題が発生すればreopenする。

je3kmz commented 1 year ago

関西圏では Server returned 400 Bad Request と出ますね。 プレミアムのログインしていても、そうでなくても同様にエラーが出ます。

uru2 commented 1 year ago

ここ最近HLSの配信周りに手が入っているのは間違いはなさそうです。

以前のWebブラウザ版ではplaylistのURIがほぼ固定(host+固定パス)だったのが

https://radiko.jp/v3/station/stream/{X-Radiko-App}/{station_id}.xml

から取るようになっており、一部のURIをそのままffmpegに処理させると "Invalid data found when processing input" となるのでこれが解決できればOK? (今後のAES配信対応の予感もしますが…)

uru2 commented 1 year ago

暫定的な対処としてはxpathで

/urls/url[@timefree='1' and @areafree='0']/playlist_create_url/text()
/urls/url[@timefree='1' and @areafree='1']/playlist_create_url/text()
(areafreeはプレミアムログイン状態、1はログイン済み)

で取得したものを順にffmpegで処理してすべてNGならexit 1するとか? 対処としてあまりスマートではないですが…。