Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Интернет-радио в командной строке Linux

Оригинал: How to listen to Internet radio from the command line on Linux
Автор: Dan Nanni
Дата публикации: 22 августа 2014 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2014 г.

Знают ли системные администраторы и поклонники Linux, которые проводят много времени за компьютером, что определенный уровень шума, например от радиостанции, может повысить производительность их труда? Верьте или нет, но известно, что звук умеренной громкости, такой как музыка или болтовня, действительно может повысить творческий потенциал. Если вам понравилась идея работать под музыку, для вас может быть полезно это руководство, где я покажу, как служать интернет-радио Pandora из командной строки.

Как вы знаете, Pandora - это одна из самых известных интернет-радиостанций, транслирующая бесплатно огромное количество музыки разных жанров с мощным движком выдачи рекомендаций. Слушать ее можно как из браузера, так и с помощью десктопного или мобильного клиента. Однако сообщество предлагает свой способ - командную строку Linux.

pianobar - это музыкальный плеер командной строки с открытым исходным кодом для интернет-радиостанции Pandora. Для воспроизведения и управления станциями он снабжен простым консольным интерфейсом. Среди других возможностей - присвоение рейтинга песням, список предстоящих композиций, история прослушивания, поддержка горячих клавиш, удаленное управление и т.д. Для тех, кто живет в регионах, где Pandora недоступна (то есть за пределами США, Австралии и Новой Зеландии) pianobar поддерживает прокси-серверы.

Установка Pianobar в Linux

В Debian и других дистрибутивах на его основе, таких как Ubuntu или Linux Mint, pianobar имеется в стандартных репозиториях, поэтому для его установки просто введите:

$ sudo apt-get install pianobar

В Fedora pianobar отсутствует в стандартных репозиториях, поэтому вам необходимо собрать его из исходного кода. Приведенные ниже инструкции тестировались в Fedora 20.

Сначала скомпилируйте и установите 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

Теперь, чтобы разрешить pianobar загружать общие библиотеки FFmpeg, установленные в /usr/local/lib, добавьте следующую строку в файл /etc/ld.so.conf:

/usr/local/lib

И перезагрузите все общие библиотеки:

$ sudo ldconfig

На этом все.

Прослушивание Pandora из командной строки

Для запуска pianobar просто введите в командной строке:

$ pianobar

Вас попросят авторизоваться в Pandora и выбрать станцию из вашего персонального списка. После этого автоматически начнет транслироваться музыка.

запуск pianobar

Нажав во время трансляции клавишу "?", вы можете просмотреть список доступных команд. Некоторые из них:

s: переключиться на другую станцию.
u: просмотреть список предстоящих песен.
h: просмотреть историю воспроизведения.
n: перейти к следущей песне.
b: отметить песню или исполнителя.
( или ): уменьшить или увеличить уровень громкости.
S: остановить воспроизведение.
P: возобновить воспроизведение.
v: создать новую станцию из песни или исполнителя.
+ или -: оценить песню положительно или отрицательно.
a: добавить музыку к станции.
q: выйти из pianobar.

команды pianobar

Настройка Pianobar

В отдельном конфигурационном файле вы можете задать различные настройки pianobar, например поместить туда свои логин и пароль для авторизации в Pandora, чтобы не вводить их каждый раз вручную. Ниже пример создания простого конфигурационного файла.

$ 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-странице pianobar.

$ man pianobar

Удаленное управление Pianobar

Еще одна отличная функция pianobar - поддержка удаленного управления. Вы можете отправить команду запущенному экземпляру pianobar через именованный канал (FIFO). Таким способом можно осуществлять удаленное управление pianobar.

Сначала создайте FIFO в ~/.config/pianobar:

$ mkfifo ~/.config/pianobar/ctl

Затем запустите pianobar.

Сейчас вы можете отправить любую команду из одного символа в pianobar с помощью команды echo. Например, для того, чтобы перейти к следующей песне:

$ echo -n 'n' > ~/.config/pianobar/ctl

Вы легко можете сделать это для удаленной машины. Если pianobar запущен на хосте X, вы можете удаленно управлять pianobar с другого хоста Y через SSH, как показано ниже.

На хосте Y запустите команду:

$ ssh user@host_X "echo -n 'n' > ~/.config/pianobar/ctl"

Эта возможность пригодится вам, если вы захотите удаленное управление плеером на Raspberry Pi через интернет.