Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Здравствуйте!

Ни для никого не новость, что большая часть удобных сервисов западных производителей стала недоступна для жителей нашей страны. Один из которых является vtuner.

Коротко: vtuner - это интернет сервис по предоставлению ссылок online вещания для сетевых аудио ресиверов. Данный сервис в своё время предоставляло достаточно много производителей hifi и не очень, оборудования, такие как Denon, Harman/Cardon, Pioneer и д.р. Vtuner сначала сделал свой сервис платным, причём они делали плату чисто символическую в районе 2 или 3 доллара и не важно какое количество у вас было оборудования, а потом, спустя два года, перестали даже отвечать на письма. Говорить про плюсы использования потокового радио в отличии от обычного fm вещания смысла нет, т.к. дискуссия не для этой темы.

А теперь о проблеме. Есть энтузиаст, который в своё время выпустил такой продукт как "ycast", при помощи данной утилиты (так скажем), можно создать свой сервер с ссылками потоковыми которые хотим слушать. Да, есть момент, что для нашего вендора оборудования нужно в DNS сделать перенаправление на свой сервер, откуда оборудование будет брать потоки и воспроизводить. Данная технология работает и работает достаточно (в целом), приемлемо, проблема в том, что она нормально собирается только на полноценных linux системах (опробовано на centos 7), но логично что держать физический или виртуальный сервер у себя дома для этого смысла большого нет и хотелось бы адаптировать для работы на keenetic, ибо он всё равно у всех работает круглосуточно и ресурсов не потребляет таких как необходимо для отдельной виртуального или физического ПК.

Но при сборке оказалась проблема. Данный код написан на питоне и человек сделал зависимость его от модуля pillow, как я понял этот модуль для картинок (автораты?), но для оборудования эти картинки не нужны совсем, а проблема в установле пакета как раз спотыкается на нём. К сожалению на github, где находится данный проект, никто не отвечает на запрос по поводу искоренения данной библиотеки, точнее её зависимости. Поэтому решил открыть тут данную тему, возможно у нас найдутся не равнодушные люди, которые также как и я заинтересованны в запуске данной программы.

Уважаемые администраторы форума, я сразу прошу прощения, если я каким-то образом нарушил правила форума или же создал тему не в том разделе. Приношу свои извинения, не со зла это делал, просто не понял где лучше это сделать.

Информация для заинтересованных лиц находится на: https://github.com/milaq/YCast (не реклама, а ссылка откуда информация по продукту). Мой запрос на сайте производителя, а также лог с ошибкой сборки находится вот тут: https://github.com/milaq/YCast/issues/127 (опять же, не реклама).

Опубликовано

Александр, здравствуйте! Почему-то не находит в репе он его.

/opt/ycast/YCast-1.1.0 # opkg install python3-pillow
Unknown package 'python3-pillow'.
Collected errors:
 * opkg_install_cmd: Cannot install package python3-pillow.

Опубликовано

Здравствуйте!

 

/opt/ycast/YCast-1.1.0 # opkg update
Downloading http://entware-3x.zyxmon.org/binaries/mipsel/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keen3x
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

 

Опубликовано

По второй ссылке нашёл что есть там pillow, странно что opkg его не находил, перегрузил роутер, нашёл, установил. Но это не решило проблему всё равно. Ошибка также. Суть в том что установка происходит через: pip3 install ycast. но ошибка всё равно на pillow ссылается.

Опубликовано

В общем удалил python, python3 и все их зависимости.

Поставил только python3, установил libjpeg-turbo, вроде как запустился.

Осталось понять как его в автозагрузку поставить. Поковырялся в /opt/etc/init.d, но там странная структура, не вижу запускных команд в файлах. Подскажите пожалуйста, правильное написание, где мне чётко нужно указать команду запуска, как правильно это написать.

  • 3 недели спустя...
Опубликовано (изменено)

поддержу тему.

сам недавно установил YCast на Extra KN-1711, работало с ручным запуском ОК.  

перешёл на Hopper KN-3810 (и надеялся, что встроенной памяти хватит на OPKG и этот скрипт, но всё равно не хватает на установку Pillow, так что OPKG с флешки)
- тоже работает, а вот с автозапуском засада - запускается и вываливается с таймаутом через 1-5 минут и всё тут.

причём время таймаута вроде как зависит от номера в имени файла в после S согласно уровня выполнения init.d

Мар 29 20:49:11 ndm
Opkg::Manager: /opt/etc/init.d/rc.unslung: timed out.
Мар 29 20:49:11 ndm
Process: killing all processes in "Opkg shell" group...

сам скрипт:

#!/bin/sh

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
python3 -m ycast -p 80 -c /opt/home/YCast/stations.yml

Я к юниксу подошёл впервые так близко. Так что не ругайтесь, бывалые...

Изменено пользователем servo
Опубликовано
14 часа назад, servo сказал:

сам скрипт:

Если ЭТО всё, ничего удивительного нет )))

~ # 
~ # /opt/etc/init.d/S81ycast start
Service start
~ # 
~ # pgrep -alf ycast
23142 python3 -m ycast -p 8888
~ # 
~ # /opt/etc/init.d/S81ycast stop
Service stop
~ # 
~ # pgrep -alf ycast
~ # 

функционал накручивайте сами

#!/bin/sh

PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin

start() {
  python3 -m ycast -p 8888 > /dev/null 2>&1 &
}

stop() {
  kill $(pgrep -of ycast)
}

case "$1" in
	start)
		start && echo "Service start"
	;;
	stop)
		stop && echo "Service stop"
	;;
	*)
		echo "Usage: $0 {start|stop}"
	;;
esac

 

Опубликовано

Вариант №2 (внимательно следим за руками)

~ # 
~ # ln -sf /opt/lib/python3.10/site-packages/ycast/__main__.py /opt/bin/ycast
~ # 
~ # sed -i -e 's,^#!.*python,#!/opt/bin/python,' /opt/bin/ycast 
~ # 
~ # chmod +x /opt/bin/ycast 
~ # 
#!/bin/sh

ENABLED=yes
PROCS=ycast
ARGS="-p 8888"
PREARGS=""
DESC="YCast"
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func
~ # 
~ # /opt/etc/init.d/S80ycast status
 Checking YCast...              dead. 
~ # 
~ # /opt/etc/init.d/S80ycast start
 Starting YCast...              done. 
~ # 
~ # /opt/etc/init.d/S80ycast status
 Checking YCast...              alive. 
~ # 
~ # /opt/etc/init.d/S80ycast stop
 Checking YCast...              alive. 
 Shutting down ycast...              done. 
~ # 
~ # /opt/etc/init.d/S80ycast status
 Checking YCast...              dead. 
~ # 
~ # /opt/etc/init.d/S80ycast start
 Starting YCast...              done. 
~ # 
~ # /opt/etc/init.d/S80ycast restart
 Shutting down ycast...              done. 
 Starting YCast...              done. 
~ # 

 

Опубликовано
22 часа назад, TheBB сказал:

Вариант №2

Спасибо огромное! Всё работает.


Единственное, ругаться стала, видимо прописать надо в Менеджере OPKG в веб интерфейсе:

[E] Mar 30 21:52:14 ndm: Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/. 

 

Опубликовано

Ребят, извините, выпал из темы, занят был работой. Проблему свою решил скриптом вот таким, может кому как пример подойдёт.

в /opt/etc/init.d создаём файл что-нибуть в роде S24vtuner в него вставляем:

 

#!/bin/sh

ENABLED=yes

PROCS="python"

ARGS="-mycast -d -l 192.168.7.1 -p 80 -c /opt/etc/ycast/stations.yml"
PREARGS=""
DESC=$PROCS
PATH=/opt/etc/ycast:/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func


Всё, готово.

  • 5 месяцев спустя...
Опубликовано

Приветствую, а может кто сделать пошаговую инструкцию, что и как и в какой последовательности, для не особо продвинутых, но очень желающих это реализовать? 

  • 2 недели спустя...
Опубликовано

Думаю, что это будет проблематично. Т.к. делал давно, половину уже не помню. Но работает до сих пор нормально. Могут быть разного рода проблемы из-за разных версий роутеров. Вы начните делать, а далее видно будет. Если есть какие-то вопросы по поводу что в конфигурационных файлах тех или иных, то спрашивайте, посмотрю у себя и отвечу.

  • 5 месяцев спустя...
Опубликовано

Интересно, узнал сейчас про оборудование с AVR вещанием на него. Но думаю, что достаточно нишевое решение.  Все же тогда просится старый-добрый MPD и звуковая карта с pass-trough на Тослинк или Коаксиал, так как все эти Ямахи и прочее в цифровых входах не имеют USB (есть для айфона, возможно это и есть вход на цап, тогда и звуковая на роутер не нужна). Ну или тогда уже более простая звуковая с AUX и кабель 3,5мм на эту технику. Разницы в этих двух вариантах ни в чем нет - радиостанции точно также прописываются ручками, переключение станций идет через приложение,  Цитата:
"Вторая полезная опция — облегчённое управление и настройка с мобильных устройств на платформе iOS и Android с использованием приложения Denon Remote App. Оно также предоставляет доступ к интернет-радио и позволяет управлять воспроизведением аудиофайлов. Разумеется, есть и штатный пульт ДУ, не перегруженный кнопками и потому удобный."
Смысл будет только тогда, когда роутер в одном месте, а оборудование совсем в другом. Но и в этом случае есть совсем простое решение - второй дешевый роутер, вроде Гиги-II за 1200 руб. с Авито.

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.