рекомендации

воскресенье, 31 мая 2020 г.

musikcube - свободный консольный аудиоплеер и стриминговый сервер


Я начал по-настоящему ценить универсальность консольного программного обеспечения после восстановления сломанной системы с помощью вездесущего текстового редактора vi. Я всегда заинтересован в изучении интересных консольных программ, особенно мультимедийных. Итак, musikcube. Это бесплатный кросс-платформенный аудио-движок с открытым исходным кодом, библиотека, проигрыватель и сервер, написанные на C++.


В musikcube по умолчанию включен потоковый аудиосервер. Он запускает сервер веб-сокетов через порт 7905, используемый для извлечения метаданных, и http-сервер на порту 7906, который раздает (необязательно перекодированные) аудиоданные клиентам. 

Установка

Отличная поддержка для дистрибутивов Linux. Проект предлагает пакеты для Fedora, Ubuntu, а также пакеты для Mac OS X и Windows. Существует также пакет для Armhf, который работает на устройствах серии Raspberry Pi и других одноплатных компьютерах, таких как Asus Tinker Board. LinuxLinks любезно предоставил мне Tinker Board. Пакет armhf устанавливается на Tinker Board после установки пакета libev4. Однако мне не хватало пары библиотек для запуска на Tinker Board. Это было исправлено с помощью следующих команд в оболочке:

linaro@tinkerboard:$ sudo apt install libboost-chrono1.62.0
linaro@tinkerboard:$ sudo apt install libboost-atomic1.62.0

Что касается моих десктопов, я остановился на дистрибутиве Manjaro - он быстрый и эффективный в работе. musikcube доступен в Arch User Repository и предлагает последнюю версию, которая на момент написания статьи была версией 0.51.0. Но я решил скомпилировать исходный код. В качестве альтернативы я мог бы использовать debtap, который конвертирует пакеты .deb в пакеты Arch.

Для компиляции исходного кода вашей системе требуются следующие библиотеки и их пакеты разработки: cmake, boost, libogg, vorbis, flac, faad2, ncurses, zlib, asound, pulse, libcurl, libmicrohttpd, libmp3lame и libev4. Все эти пакеты уже были установлены в моей системе.

[luke@thames Downloads]$ tar zxvf musikcube-0.51.0.tar.gz
[luke@thames Downloads]$ cd musikcube-0.51.0
[luke@thames Downloads]$ cmake .
[luke@thames Downloads]$ make -j6
[luke@thames Downloads]$ sudo make install

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

Вот скриншот musikcube в действии. Интерфейс прекрасно организован и продуман. Он воплощает в себе простоту и функциональность.


В режиме просмотра есть две основные панели, на которых размещены исполнители и дорожки, с регулятором громкости и панелью воспроизведения. Панели меняются нажатием кнопки d. Это позволяет вам просматривать содержимое каталогов. Просто добавьте музыкальные каталоги в список проиндексированных путей на экране настроек.
Любой серьезный музыкальный проигрыватель предлагает воспроизведение без пауз. Воспроизведение без пауз - это непрерывное воспроизведение последовательных звуковых дорожек, так что относительные временные промежутки в исходном звуковом источнике сохраняются за пределами дорожек при воспроизведении. Это важно, если вы слушаете классическую, электронную музыку, концептуальные альбомы и прогрессивный рок. Есть несколько музыкальных проигрывателей Linux, которые не обеспечивают воспроизведение без пауз. К счастью, musikcube предлагает как воспроизведение без пауз, так и кроссфейдирование.

Полезна привязка клавиш Ctrl-R. Она отображает диалоговое окно индексатора, которое позволяет пользователю выбирать между быстрым сканированием и полным перестроением метаданных.

Другие возможности программы:

* Просмотр библиотеки, просмотр по: исполнителю, альбому, жанру, списку воспроизведения или каталогу.
* Поддержка скробблинга Last.fm.
* Поддержка ReplayGain, которая позволяет musikcube нормализовать громкость для отдельных треков или альбомов.
* Встроенный просмотрщик и редактор горячих клавиш.
* Основная поддержка работы с мышью.
* Поддержка плагинов аудио кодировщика.
* Настраиваемые сочетания клавиш.
* Настраиваемое устройство вывода.
* Плагины:
* AlsaOut IOutput.
* FLAC IDecoder.
* HTTP IDataStream.
* M4A IDecoder.
* nomad IDecoder.
* Null IOutput.
* Ogg IDecoder.
* PulseAudio IOutput.
* Стандартные кодеры (MP3, OGG).
* Taglib 1.11 ITagReader.
* Цветовые темы: по умолчанию, 8 цветов (режим совместимости), gruvbox_dark, solarized_dark и solarized_light.
* Поддержка интернационализации - доступны переводы на французский, итальянский и русский языки.

Программа хранит свою базу данных, кеш, настройки и файлы плагинов в ~/.musikcube. Вместо того, чтобы загромождать домашний каталог, для этих файлов имеет смысл перейти в ~/.config/musikcube. Давайте сохраним наши файловые системы в порядке!
musikcube - замечательный консольный плеер. Он легкий, выглядит красиво, предлагает хороший набор функций и очень стабильный. Мне не нравится медленная обработка метаданных, которая раздражает, если у вас большая музыкальная коллекция. Поддержка мыши особенно приветствуется.

Сайт: musikcube.com
Разработчик: Casey Langen и множество контрибьютеров
Лицензия: BSD License

Комментариев нет:

Отправить комментарий