Orange Pi PC : VLC, StreamlinkによるRadiko再生

従来のRadiko再生スクリプトがFlashのディスコンにより機能しなくなったため、Streamlinkによりライブ音源の再生を行います。

Streamlink

Github

インストール
各OSのインストール手順については、以下参照願います。

:bangbang: Armbianでもバイナリパッケージが用意されたため、$ sudo apt install streamlink でインストール可


パッケージが用意されていない場合は、PythonまたはPython3によりインストールします。Pythonによるインストールについては、上記のインストール手順の方も参照願います。

Python3とpip3をインストール後、必要なパッケージをpip3によりインストールします。

$ sudo apt install python3-apt
$ sudo apt install python3-pip

$ pip3 install --upgrade setuptools
$ pip3 install wheel

最新版Streamlinkをユーザ環境でのみ動作するようにインストールします。

$ pip3 install --user --upgrade streamlink

パスを設定します。

$ export PATH="${HOME}/.local/bin:${PATH}"

再起動後に上記パスが有効になるように、上記内容をユーザホームフォルダの.bashrcに追加してください。

cvlcプレーヤーによるライブ再生(放送大学)

$ streamlink --player=cvlc https://radiko.jp/#\!/live/HOUSOU-DAIGAKU best

注) URLのパスの "!" の直前に "\" を追加しないとパスのロードエラーが発生して再生できません。但しbashコマンドとして実行することでこれを回避できます。

$ sudo -H -u USER_NAME bash -c '/home/USER_NAME/.local/bin/streamlink --player-fifo --player cvlc https://radiko.jp/#!/live/RN1 best'

コマンド詳細

プレーヤーオプション

プレーヤーオプションを内包して再生

$ streamlink --player "vlc --file-caching=5000" <url> [stream]

$ streamlink --player "cvlc -q --control=lirc -I rc --rc-host localhost:12345" https://radiko.jp/#\!/live/HOUSOU-DAIGAKU best

バックグラウンド再生

$ streamlink --player "cvlc -q --control=lirc -I rc --rc-host localhost:12345" https://radiko.jp/#\!/live/TBS best > /dev/null 2>&1 &

fifoオプション(配信が終了するとstreamlinkも終了)

$ streamlink --player-fifo --player cvlc https://radiko.jp/#\!/live/JOAK best 

デバックオプション

$ streamlink --player-fifo --player --loglevel debug cvlc https://radiko.jp/#\!/live/JOAK best 

プラグイン一覧

Radikoプラグイン


参考)PulseAudioとALSAの関係

PulseAudio - ArchWiki

PulseAudio は、ALSAOSS を用いてアプリケーションとハードウェアデバイスの間でミドルウェアとして動作することを目的とした汎用サウンドサーバーです。また、Avahi を有効にするとことで、ローカルデバイス間で簡単にネットワークストリーミングを行うことができます。主な目的はオーディオの設定を簡単にすることですが、そのモジュール設計により、より高度なユーザが自分のニーズに合わせてデーモンを設定することができます。

Steramlinkコマンドに入力する放送局ID一覧

再生できるのは居住地エリアの放送局に限定されるようです。

放送局名 放送局ID
HBCラジオ HBC
STVラジオ STV
AIR-G’(FM北海道) AIR-G
FM NORTH WAVE NORTHWAVE
RAB青森放送 RAB
IBCラジオ IBC
エフエム岩手 FMI
TBCラジオ TBC
YBC山形放送 YBC
RFCラジオ福島 RFC
ふくしまFM FMF
TBSラジオ TBS
文化放送 QRR
ニッポン放送 LFR
InterFM897 INT
TOKYO FM FMT
J-WAVE FMJ
ラジオ日本 JORF
bayfm78 BAYFM78
NACK5 NACK5
FMヨコハマ YFM
IBS茨城放送 IBS
CRT栃木放送 CRT
RadioBerry RADIOBERRY
FMぐんま FMGUNMA
BSNラジオ BSN
FM NIIGATA FMNIIGATA
FM PORT FMPORT
KNBラジオ KNB
FMとやま FMTOYAMA
MRO北陸放送ラジオ MRO
エフエム石川 HELLOFIVE
FBCラジオ FBC
FM-FUJI FM-FUJI
SBCラジオ SBC
FM長野 FMN
CBCラジオ CBC
東海ラジオ TOKAIRADIO
ぎふチャン GBS
ZIP-FM ZIP-FM
RADIO NEO RADIONEO
@FM FMAICHI
FM GIFU FMGIFU
SBSラジオ SBS
K-MIX SHIZUOKA K-MIX
レディオキューブ FM三重 FMMIE
ABCラジオ ABC
MBSラジオ MBS
OBCラジオ大阪 OBC
FM COCOLO CCL
FM802 802
FM OSAKA FMO
Kiss FM KOBE KISSFMKOBE
CRKラジオ関西 CRK
e-radio FM滋賀 E-RADIO
KBS京都ラジオ KBS
α-STATION FM京都 ALPHA-STATION
wbs和歌山放送 WBS
BSSラジオ BSS
RSKラジオ RSK
RCCラジオ RCC
広島FM HFM
KRY山口放送 KRY
JRT四国放送 JRT
RNB南海放送 RNB
RKC高知放送 RKC
RKBラジオ RKB
KBCラジオ KBC
LOVE FM LOVEFM
cross fm CROSSFM
FM FUKUOKA FMFUKUOKA
NBC長崎放送 NBC
FM長崎 FMNAGASAKI
RKKラジオ RKK
FMKエフエム熊本 FMK
OBSラジオ OBS
エフエム大分 FM_OITA
宮崎放送 MRT
MBCラジオ MBC
RBCiラジオ RBC
ラジオNIKKEI第1 RN1
ラジオNIKKEI第2 RN2
放送大学 HOUSOU-DAIGAKU
NHKラジオ第1 JOHK
NHKラジオ第2 JOAB
NHK-FM JOAK-FM

BBCプレイリスト更新

BBC-Radio-pls.m3u
#EXTM3U
#EXTINF:-1,BBC - Radio 1
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_one/format/pls.pls
#EXTINF:-1,BBC - Radio 2
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_two/format/pls.pls
#EXTINF:-1,BBC - Radio 3
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_three/format/pls.pls
#EXTINF:-1,BBC - Radio 4
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_fourfm/format/pls.pls
#EXTINF:-1,BBC - Radio 4 LW
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_fourlw/format/pls.pls
#EXTINF:-1,BBC - Radio 5 live
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_five_live/format/pls.pls
#EXTINF:-1,BBC - Radio 6
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_6music/format/pls.pls
#EXTINF:-1,BBC - Radio 1 Extra
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_1xtra/format/pls.pls
#EXTINF:-1,BBC - Radio 4 Extra
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_four_extra/format/pls.pls
#EXTINF:-1,BBC - Radio 5 Live sports extra
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_radio_five_live_sports_extra/format/pls.pls
#EXTINF:-1,BBC - Radio Asian Network
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_asian_network/format/pls.pls
#EXTINF:-1,BBC - BBC World Service
http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_world_service/format/pls.pls
# GistID: 8705765

Players

Transport modes

There are three different modes of transporting the stream to the player.

Name Description
Standard input pipe This is the default behaviour when there are no other options specified.
Named pipe (FIFO) Use the --player-fifo option to enable.
HTTP Use the --player-http or --player-continuous-http options to enable.

Player compatibility

This is a list of video players and their compatibility with the transport modes.

Name Stdin Pipe Named Pipe HTTP
Daum Pot Player Yes No Yes 1
MPC-HC Yes 2 No Yes 1
MPlayer Yes Yes Yes
mpv Yes Yes Yes
OMXPlayer No Yes Yes 4
QuickTime No No No
VLC media player Yes 3 Yes Yes

15分後にcvlcが停止するため--repeatオプションを付けて再生。

$ streamlink -l debug --player-fifo --player cvlc -a "--repeat --file-caching 3000 --network-caching 3000" https://radiko.jp/#\!/live/JOAK best

VLCコマンドオプション
https://wiki.videolan.org/VLC_command-line_help/

VLCによるYouTube再生

以下の環境でYouTubeのコンテンツが再生不可となったため、YouTubeのプレイリストを最新版に置換え。

OS : Armbian 22.11.4 Bullseye with Linux 5.15.89-sunxi
VLC media player 3.0.18 Vetinari (revision 3.0.13-8-g41878ff4f2)

以下playlistからyoutube.luaをダウンロード

$ ls /usr/lib/arm-linux-gnueabihf/vlc/lua/playlist/
anevia_streams.luac  bbc_co_uk.luac    jamendo.luac   newgrounds.luac          twitch.luac   youtube.lua
anevia_xml.luac      cue.luac          koreus.luac    rockbox_fm_presets.luac  vimeo.luac
appletrailers.luac   dailymotion.luac  liveleak.luac  soundcloud.luac          vocaroo.luac

youtube.luacを削除しダウンロードしたyoutube.luaをコピー

$ sudo rm /usr/lib/arm-linux-gnueabihf/vlc/lua/playlist/youtube.luac
$ sudo cp youtube.lua /usr/lib/arm-linux-gnueabihf/vlc/lua/playlist/

動作確認

$ cvlc --no-video https://youtu.be/xxxxxxxxxxxx