如何在Linux命令行下收聽網絡電臺
對于花大量時間在Linux屏幕前的系統管理員和Linux愛好者來說,網絡/本地電臺上的音樂可以極大提高生產力,你們知道嗎?不管你們相信與否,,在工作環境中有適當的聲音,如音樂或者閑聊聲包圍,都可以提高我們的創造力。如果你喜歡在音樂環境中工作,這個教程也許會對你有用。我將會向你展示如何在命令行中收聽潘多拉(Pandora)在線電臺(LCTT譯注:Pandora Internet Radio是一個僅為美國、澳大利亞和新西蘭提供自動音樂推薦的系統。詳細介紹Prandoea電臺)
正如你已經知道的,Pandora是最有名的在線電臺服務之一,它包含無數的不同種類的免費音樂流,同時它還有一個強大的音樂推薦引擎。Pandora可以通過不同的方式訪問,如:瀏覽器,桌面客戶端或者手機Apps,開源社區還給出了另一種訪問Pandora音樂服務的方法:Linux命令行。
pianobar是一個播放Pandora在線電臺音樂的開源命令行音樂播放器。它有一個簡單的終端接口,用于播放和管理音樂電臺。同時還有其他包括歌曲評價,即將上線音樂列表,播放歷史,自定義快捷鍵綁定,遠程控制等功能。對于那些居住在不可訪問Pandora音樂服務區域的用戶(即美國、澳大利亞和新西蘭以外的用戶),Pianobar還配置了代理服務的支持。
在Linux中安裝Pianobar
在Debian或者其他Debian的衍生品中,如Ubuntu或LinuxMint,Pianobar是一個已經編譯好的軟件包,因此安裝Pianobar只是簡單的輸入如下命令:
- $ sudo apt-get install pianobar
在Fedora中,Pianobar并不包含在基礎的軟件庫中。因此,你需要通過源代碼編譯安裝Pianobar。整個安裝過程會有點麻煩,但是下面的教程將會實現Pianobar在Fedora系統中編譯安裝。該教程在Fedora20版本中測試通過。
首先,根據FFmpeg安裝教程編譯并安裝FFmpeg。
然后,啟用RPM Fusion源,并安裝其他依賴軟件:
- $ sudo yum install wget gcc-c++ pkgconfig gnutls-devel json-c-devel libgcrypt-devel make libao-devel faad2-devel libmad-devel libao faad2-libs
編譯并安裝Pianobar
- $ wget http://6xq.net/projects/pianobar/pianobar-2014.06.08.tar.bz2
- $ tar xvfvj pianobar-2014.06.08.tar.bz2
- $ cd pianobar-2014.06.08
- $ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH make
- $ sudo make install
***允許Paniobar加載安裝在/usr/local/lib目錄下的FFmpeg共享庫,在/etc/ld.so.conf配置文件中添加下面一行:
- /usr/local/lib
重載所有的共享庫
- $ sudo ldconfig
就這樣,Pianobar已經在Fedora系統中安裝完成。
在命令行中收聽Pandora音樂
paniobar的基本用法是輸入如下命令:
- $ pianobar
該命令將會要求你登錄到Pandora并從你的個性化電臺列表中選擇要收聽的電臺。在你選擇電臺后,音樂就開始自動播放。
按‘?’按鍵pianobar會列出一系列可用個命令,其中一些如下:
- s: 更換電臺
- u: 查看即將上線音樂列表
- h: 查看播放歷史
- n: 播放下一首
- b: 收藏歌曲或藝術家
- ( 或者 ): 減少或增加播放音量
- S: 暫停播放
- P: 恢復播放
- V:為當前收聽的歌曲或者藝術家創建一個電臺
- +或者-:查看上一首或者下一首歌曲
- a:添加音樂到電臺
- q:退出pianobar
將Pianobar配置為自動安裝
你可以在一個單獨的配置文件中配置Pianobar的各項默認配置。例如:你可以將你的登錄信息放到配置文件中,這樣你就不用每次都要手動輸入。下面是如何創建一個配置文件的示例:
- $ mkdir -p ~/.config/pianobar
- $ vi ~/.config/pianobar/config
- # Example pianobar configuration file
- # Pandora login info
- user = your@email_address
- password = plaintext_password
- # Users who cannot access Pandora in their region can set a proxy.
- control_proxy = http://user:password@host:port/
- # Initial volume in dB: between -30 and +5
- volume = 0
- # Audio quality: high, medium or low
- audio_quality = high
如需了解完整的配置選項,請參閱其man手冊頁。
- $ man pianobar
遠程控制Pianobar
Pianobar的另一個優秀特性是支持遠程控制,你可以通過命令管道(FIFO)為Pianobar的一個運行實例發送命令。下面是遠程控制Pianobar的示例:
首先在目錄~/.config/pianobar下創建一個FIFO命令管道
- $ mkfifo ~/.config/pianobar/ctl
然后運行Pianobar
現在,你可以通過使用echo命令發送任何的單字符命令鍵到Pianobar中,例如:播放下一首歌曲:
- $ echo -n 'n' > ~/.config/pianobar/ctl
你可以很容易的將此配置擴展到遠程計算機中,當Pianobar在主機X上運行,你可以從遠程主機Y中通過SSH控制Pianobar,如下所示:
在主機Y中,運行:
- $ ssh user@host_X "echo -n 'n' > ~/.config/pianobar/ctl"
當然,你希望為登錄到主機X的SSH登錄認證啟用秘鑰認證,這樣你就不用每次都輸入SSH密碼。
當你想在樹莓Pi上設置一個可以遠程控制的在線電臺播放器時,Pianobar的遠程控制特性將會讓你非常方便地實現該需求。
希望你和我一樣喜歡Pianobar,若有什么想法,請在評論中告訴我。