Поиск по сайту:

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

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

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

Для этого мы будем использовать две простые утилиты, а именно Playerctl и OmniPause, для управления медиаплеерами из командной строки.

1. Игрокктл

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

  • Дерзкий,
  • Бмп,
  • Спотифай,
  • Мплеер/SMplayer,
  • ВЛК,
  • Xmms2.

Установить Playerctl

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

В Арч Линукс:

sudo pacman -S playerctl

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

sudo apt-get install playerctl

В Федоре:

sudo dnf install playerctl

В openSUSE:

sudo zypper install playerctl

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

Управление медиаплеерами с помощью Playerctl

Сначала перечислите всех доступных игроков, используя команду:

playerctl -l

Или,

playerctl --list-all

Пример вывода будет:

vlc
smplayer

Вы можете просмотреть статус игрока, упомянув его имя с помощью команды playerctl:

$ 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 — это простое приложение Python для управления медиаплеерами через DBus. В отличие от Playerctl, OmniPause — новинка в сериале и находится на ранней стадии разработки. Однако он полностью функционален и выполняет все те же функции, что и Playerctl.

Установить Омнипаузу

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

  • python2
  • dbus-питон

После установки необходимых компонентов git клонируйте проект:

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

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

cd OmniPause/

И выполните следующую команду, чтобы установить его.

sudo make install

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

Управляйте медиаплеерами с помощью Omnipause

Использование точно такое же, как и у Playerctl. В отличие от Playerctl, Omnipause имеет ограниченную функциональность. Единственные доступные функции:

  • играть,
  • Пауза,
  • следующий,
  • предыдущий,
  • переключать,
  • останавливаться.

Чтобы приостановить все работающие медиаплееры, запустите:

omnipause pause

Чтобы возобновить воспроизведение медиаплееров, приостановленных программой, запустите:

omnipause play

Чтобы остановить все медиаплееры, запустите:

omnipause stop

Чтобы воспроизвести следующий трек на всех проигрывателях медиаплееров, выполните:

omnipause next

Чтобы воспроизвести предыдущий трек на всех проигрывателях медиаплееров, выполните:

omnipause previous

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

omnipause toggle

Как видите, мы можем управлять всеми запущенными медиаплеерами с помощью одной команды. Это так просто. Как и Playerctl, у него нет возможностей остановить конкретного проигрывателя или увеличить/уменьшить громкость. Если вам нужны такие возможности и больший контроль над медиаплеерами, используйте программу playerctl. Обратите внимание, что Playerctl и OmniPause — это не проигрыватели, а контроллеры медиаплееров CLI.

Ресурсы:

  • Страница Playerctl на GitHub
  • Страница OmniPause на GitHub

Статьи по данной тематике