ひこぽんのーと

覚書と雑記です。

Raspberry Piでラジオを鳴らすのこと

Raspberry Piにスピーカーをつけてラジオを鳴らす方法についてのメモ。
おおまかな仕掛けとしては、
Radikoのswfプレイヤーからストリーミングデータをぶっこ抜いて
メディアプレイヤーで再生する方式の模様。
(だから、いつまで使えるかわからんね)

音声を再生するアプリの導入*1

sudo apt-get install mplayer

ストリーミング関係のアプリの導入

sudo apt-get install rtmpdump swftools libxml2-utils

音声出力先の設定

デフォルトではイヤホンジャックかHDMIか自動判定となっている。
HDMIなり、イヤホンジャックなりどちらか固定としたい場合は
rasp-configから設定可能。
設定メニューの[Advance Options] -> [Audio]と追っていき、
[Auto], [Force 3.5mm ('Headphone') jack], [Force HDMI]から選択する。

sudo rasp-config

音量の設定

画面からできるけど、コマンドでやる場合。
下記でコマンドで現在の値を知る。

sudo amixir -M

Simple mixer control 'PCM',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback -10239 - 400
  Mono: Playback 400 [100%] [4.00dB] [on]

下記、コマンドで設定する。

sudo amixir sset PCM 100%

radikoを再生するスクリプトの取得

スクリプトをここから取得
play_nhk-radio.sh · GitHub

play_radiko.sh スクリプトの修正

radiko側の状態が変わっているのだろうが、
再生で使用するplay_radiko.shはそのままだと動かない。
以下の箇所を修正する。

修正前 修正後
28 playerurl=http://radiko.jp/player/swf/player_3.0.0.01.swf playerurl=http://radiko.jp/apps/js/flash/myplayer-release.swf
53 swfextract -b 14 $playerfile -o $keyfile swfextract -b 12 $playerfile -o $keyfile
70 --header="X-Radiko-App: pc_1" \ --header="X-Radiko-App: pc_ts" \
71 --header="X-Radiko-App-Version: 2.0.1" \ --header="X-Radiko-App-Version: 4.0.1" \
108 --header="X-Radiko-App: pc_1" \ --header="X-Radiko-App: pc_ts" \
109 --header="X-Radiko-App-Version: 2.0.1" \ --header="X-Radiko-App-Version: 4.0.1" \
111 --header="X-Radiko-Authtoken: ${authtoken}" \ --header="X-Radiko-AuthToken: ${authtoken}" \
112 --header="X-Radiko-Partialkey: ${partialkey}" \ --header="X-Radiko-PartialKey: ${partialkey}" \

*1:mplayerよりvlcのコンソール版cvlcの方が安定している気がする。mplayerだとsignal 13(パイプ破壊)が結構出た。