Skip to content

kaefik/AtRadio-console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtRadio console - Консольный радиоплеер

README English

Консольное приложение для воспроизведения интернет-радиостанций с использованием VLC Media Player. Поддерживает управление с клавиатуры, редактирование списка станций и сохранение/загрузку плейлистов.

Особенности

  • 🎵 Воспроизведение интернет-радиостанций через VLC
  • 📋 Управление списком станций (добавление, удаление, редактирование)
  • 🔧 Интуитивный интерфейс с навигацией клавишами
  • 💾 Сохранение и загрузка плейлистов в CSV формате
  • 🔊 Управление громкостью во время воспроизведения
  • 📱 Перемещение станций в списке
  • 🚀 Автоматическое воспроизведение при запуске

Требования

  • Python 3.6+
  • VLC Media Player
  • Библиотеки Python:
    • curses (встроенная в Unix-системы)
    • click
    • telnetlib (встроенная)

Установка

1. Установка VLC Media Player

Windows:

  • Скачайте и установите VLC с официального сайта
  • Убедитесь, что VLC установлен в стандартную папку C:\Program Files (x86)\VideoLAN\VLC\

Ubuntu/Debian:

sudo apt install vlc

Fedora:

sudo dnf install vlc

macOS (с Homebrew):

brew install vlc

2. Установка uv (если не установлен)

# На Unix-системах (Linux, macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# На Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Через pip
pip install uv

3. Установка зависимостей и запуск

# Установка зависимостей
```bash
uv init #  если нет файла pyproject.toml
uv add click python-vlc 

для windows необходимо установить

uv add windows-curses

Запуск приложения

uv run atradio.py

Запуск с автовоспроизведением

uv run atradio.py --autoplay 0


### 4. Подготовка структуры проекта

Создайте следующую структуру папок:

atradio/ ├── atradio.py ├── pyproject.toml # будет создан автоматически при использовании uv ├── data/ │ └── radio_stations.csv └── ui/ ├── ui_interface.py └── ui_app.py


### 5. Сборка приложения в запускаемый файл

pyinstaller --onefile --collect-all python-vlc --collect-all click atradio.py


запускаемый файл после сборки находится в папке dist

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

### Основной запуск
```bash
uv run atradio.py

Автоматическое воспроизведение

uv run atradio.py --autoplay 0  # Запустить первую станцию
uv run atradio.py --autoplay 5  # Запустить шестую станцию

Управление

Навигация

  • ↑/↓ - Перемещение по списку станций
  • Enter - Воспроизвести выбранную станцию
  • Esc - Остановить воспроизведение
  • Q и F10 - Выход из программы

Управление станциями

  • Insert - Добавить новую станцию
  • Delete - Удалить текущую станцию (с подтверждением)
  • F3 - Войти в режим перемещения станции
  • F4 - Редактировать текущую станцию
  • F2 - Сохранить станции в файл
  • F5 - Загрузить станции из файла который находится в папке проекта

Управление звуком

  • + - Увеличить громкость на 10%
  • - - Уменьшить громкость на 10%

Режим перемещения (F3)

  • ↑/↓ - Перемещение станции вверх/вниз
  • Enter - Подтвердить новое положение
  • Esc - Отменить перемещение

Формат CSV файла

Файл со станциями должен иметь следующий формат:

Name;URL
Радио Маяк;http://icecast.vgtrk.cdnvideo.ru/mayakfm
Европа Плюс;http://ep256.hostingradio.ru:8052/europaplus256.mp3

Поля разделяются точкой с запятой (;).

Структура проекта

  • atradio.py - Основной файл приложения
  • data/radio_stations.csv - Файл с радиостанциями по умолчанию
  • ui/ui_interface.py - Модуль пользовательского интерфейса
  • ui/ui_app.py - Дополнительные UI компоненты

Технические детали

Связь с VLC

Приложение управляет VLC через telnet-интерфейс на localhost:5000. VLC запускается с параметрами:

  • --intf rc - отключение графического интерфейса
  • --rc-host localhost:5000 - включение удаленного управления

Поддерживаемые платформы

  • Windows (путь к VLC: C:\Program Files (x86)\VideoLAN\VLC\vlc.exe)
  • Linux (команда: vlc)
  • macOS (команда: vlc)

Решение проблем

VLC не отвечает

  • Убедитесь, что VLC правильно установлен
  • Проверьте, что порт 5000 не занят другими приложениями
  • Перезапустите приложение

Ошибки кодировки

  • Убедитесь, что CSV файл сохранен в UTF-8
  • Проверьте правильность разделителей в CSV файле

Проблемы с отображением

  • Увеличьте размер терминала для корректного отображения
  • Убедитесь, что терминал поддерживает цвета

Лицензия

Проект распространяется под лицензией MIT.

Поддержка

При возникновении проблем создайте issue в репозитории проекта или обратитесь к разработчику.

About

Консольный радиоплеер (windows&linux)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages