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

UnixForum





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

Управление медиаплеерами из командной строки Linux

Оригинал: How To Control Media Players From Commandline In Linux
Автор: SK
Дата публикации: 6 ноября 2017 года
Перевод: А. Кривошей
Дата перевода: февраль 2017 г.

Приветствую любителей музыки! Сегодня я узнал, что в Unix-подобных операционных системах мы можем управлять медиаплеерами из командной строки. Вы можете включать воспроизведение, приостанавливать его, увеличивать/уменьшать громкость, переключаться на следующие/предыдущие мультимедийные файлы и останавливать воспроизведение. Все из терминала! В этом руководстве мы обсудим две простые утилиты, которые можно использовать для управления медиаплеерами из терминала в Linux.

1. Playerctl

Playerctl - простая утилита командной строки для управления медиафайлами из терминала. Она позволяет воспроизводить, приостанавливать воспроизведение, переключаться на следующую или предыдущую дорожку, увеличивать или уменьшать громкость, останавливать воспроизведение и т. д. Используя Playerctl, мы можем управлять всеми медиаплеерами, которые реализуют спецификацию интерфейса MPRIS D-Bus. Ниже приведены некоторые из популярных медиаплееров, которыми можно управлять с помощью Playerctl.

Audacious,
Bmp,
Spotify,
Mplayer/SMplayer,
VLC,
Xmms2.

Установка

Playerctl доступен в официальных репозиториях большинства современных дистрибутивов Linux. Поэтому вы можете установить его, используя штатный менеджер пакетов.

В Arch Linux:

$ sudo pacman -S playerctl

В Debian, Ubuntu и их производных:

$ sudo apt-get install playerctl

В Fedora:

$ sudo dnf install playerctl

В openSUSE:

$ sudo zypper install playerctl

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

Использование

Сначала выведем список всех доступных плееров с помощью следующей команды:

$ playerctl -l

или

$ playerctl --list-all

Пример вывода:

vlc
smplayer

Вы можете просмотреть статус плеера:

$ playerctl status vlc
Stopped
$ playerctl status smplayer
Playing

Как вы можете видеть, в настоящее время в моей системе есть два плеера (открытые и запущенные в настоящее время). Vlc остановлен, и сейчас играет smplayer.

Чтобы воспроизвести трек, введите:

$ playerctl play -p smplayer

или

$ playerctl play --player smplayer

Если был запущен только один плеер, вам не нужно использовать переключатель «-p» или «-player». Playerctl автоматически воспроизводит трек в запущенном плеере. Чтобы приостановить воспроизведение текущей дорожки (при условии, что у вас есть только один плеер), введите:

$ playerctl pause smplayer

Для перехода к следующему треку:

$ playerctl next smplayer

Для перехода к предыдущему треку:

$ playerctl previous smplayer

Пауза/воспроизведение:

$ playerctl play-pause smplayer

Стоп:

$ playerctl stop smplayer

Чтобы просмотреть справку по программе, введите:

$ playerctl --help
Usage:
 playerctl [OPTION…] COMMAND - Controller for MPRIS players

For true players only: spotify, vlc, audacious, bmp, xmms2, and others.

Help Options:
 -h, --help Show help options

Application Options:
 -p, --player=NAME The name of the player to control (default: the first available player)
 -l, --list-all List the names of running players that can be controlled
 -V, --version Print version information and exit

Available Commands:
 play Command the player to play
 pause Command the player to pause
 play-pause Command the player to toggle between play/pause
 stop Command the player to stop
 next Command the player to skip to the next track
 previous Command the player to skip to the previous track
 position [OFFSET][+/-] Command the player to go to the position or seek forward/backward OFFSET in seconds
 volume [LEVEL][+/-] Print or set the volume to LEVEL from 0.0 to 1.0
 status Get the play status of the player
 metadata [KEY] Print metadata information for the current track. Print only value of KEY if passed

Более детальную информацию можно получить на странице проекта в GitHub.

2. OmniPause

OmniPause - это простое приложение python для управления медиаплеерами через DBus. В отличие от Playerctl, OmniPause находится на ранней стадии разработки. Однако он полностью функционален и может выполнять все те же операции, что и Playerctl.

Установка

OmniPause написан на Python, поэтому вам нужно сначала установить приведенные ниже зависимости. Эти пакеты доступны в официальных репозиториях всех дистрибутивов Linux. Поэтому их можно установить с помощью штатного диспетчера пакетов.

python2
dbus-python

После установки зависимостей клонируйте проект git:

$ git clone https://github.com/mel00010/OmniPause.git

Перейдите в директорию проекта:

$ cd OmniPause/

Теперь запустите команду для установки программы.

$ sudo make install

Эта команда скопирует программу omnipause.py в /usr/local/bin/omnipause.

Использование

Программа работает также, как Playerctl. В отличие от последнего Omnipause имеет ограниченную функциональность. Доступны только следующие функции:

play,
pause,
next,
previous,
toggle,
stop.

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

$ omnipause pause

Для продолжения воспроизведения:

$ omnipause play

Для остановки всех медиаплееров:

$ omnipause stop

Для перехода к следующему треку на всех медиаплеерах:

$ omnipause next

Для перехода к предыдущему треку на всех медиаплеерах:

$ omnipause previous

Чтобы переключить состояние запущенных плееров:

$ omnipause toggle

Как вы могли видеть, мы можем управлять всеми работающими медиаплеерами, используя одну команду. Как и у Playerctl, у omnipause нет никаких опций для работы с определенным плеером, а также для увеличения/уменьшения громкости.