[Модуль] DLNA (app_dlna)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Вс фев 18, 2018 9:59 pm

Перенесу сюда todo лист:
Мне кажется в модуле должно быть:
1) Список устройств с определением типа (модель телевизора , модель колонки или ресивера (Google Home, Echo dot...), название медиаприставкии (MAG245/250, wr320, китайские свистки, chromecast.. ). Поиск видимо придется осуществлять несколькими алгоритмами (DIAL, M-SEARCH, HTTP REST....)
2) В зависимости от типа устройства должен меняться протокол взаимодействия.
3) Привязка к HOOK SAY для колонок (чтобы Алиса на нее вещала свои сообщения)
4) Если файл лежит где-то локально, для его воспроизведения нужно поднимать web сервер или dnla. Как вариант можно попробовать использовать виртуальный хост apache2. Если файл лежит в сети по протоколам samba или ftp - пока мне не понятно что делать.
В статье из 1 поста ( https://hms.lostcut.net/viewtopic.php?id=119 ) в исходниках чувак как раз таки поднимает простенький simple server и по нему отдает поток. В принципе примеров реализации на php полно. Думаю легко решаемо.
5) Отправка ссылки приложению Youtube на телевизоре.
6) Раскурить что за TTS используют аналогичные проекты (для google home, Alexa). В какомто коде на джите видел использование движка гугл переводчика для проговаривания текста.
7) Сделать upnp сканер ресурсов домашней сети, чтобы была БД домашнего контента, который можно отправить на телевизор/Cast устройство.
8) Организовать поиск ютуб ссылки (например на запрос Дудь алгоритм должен вернуть https://www.youtube.com/watch?v=SPauxWv1Rnk,который мы уже преобразуем в
https://r1---sn-pouxga5o-vu2l.googlevid ... mm=31%2C29
Последний раз редактировалось directman66 Вс фев 18, 2018 10:00 pm, всего редактировалось 1 раз.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Вс фев 18, 2018 9:59 pm

Попробуй заставить телек работать с библиотекой...
Xml-ки руками собирать ну совсем не царское это дело)) до компа доберусь - выложу как начать скрипт с этой библиотекой...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Вс фев 18, 2018 10:01 pm

Сделай отладку плз. А то вообще не понятно что куда уходит.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Dicont
Сообщения: 112
Зарегистрирован: Вс дек 17, 2017 11:24 pm
Благодарил (а): 34 раза
Поблагодарили: 11 раз

Re: [Модуль] DLNA

Сообщение Dicont » Вс фев 18, 2018 10:02 pm

Да точно зависла.
Перегрузил, pause unpause stop работает.
URL правда затерся и конка заиграла из облака последний плайлист )
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Вс фев 18, 2018 10:04 pm

И json надо распарсить для понимания что это за uuid
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Dicont
Сообщения: 112
Зарегистрирован: Вс дек 17, 2017 11:24 pm
Благодарил (а): 34 раза
Поблагодарили: 11 раз

Re: [Модуль] DLNA

Сообщение Dicont » Вс фев 18, 2018 10:08 pm

directman66 писал(а):Перенесу сюда todo лист:
Мне кажется в модуле должно быть:
1) Список устройств с определением типа (модель телевизора , модель колонки или ресивера (Google Home, Echo dot...), название медиаприставкии (MAG245/250, wr320, китайские свистки, chromecast.. ). Поиск видимо придется осуществлять несколькими алгоритмами (DIAL, M-SEARCH, HTTP REST....)
2) В зависимости от типа устройства должен меняться протокол взаимодействия.
3) Привязка к HOOK SAY для колонок (чтобы Алиса на нее вещала свои сообщения)
4) Если файл лежит где-то локально, для его воспроизведения нужно поднимать web сервер или dnla. Как вариант можно попробовать использовать виртуальный хост apache2. Если файл лежит в сети по протоколам samba или ftp - пока мне не понятно что делать.
В статье из 1 поста ( https://hms.lostcut.net/viewtopic.php?id=119 ) в исходниках чувак как раз таки поднимает простенький simple server и по нему отдает поток. В принципе примеров реализации на php полно. Думаю легко решаемо.
5) Отправка ссылки приложению Youtube на телевизоре.
6) Раскурить что за TTS используют аналогичные проекты (для google home, Alexa). В какомто коде на джите видел использование движка гугл переводчика для проговаривания текста.
7) Сделать upnp сканер ресурсов домашней сети, чтобы была БД домашнего контента, который можно отправить на телевизор/Cast устройство.
8) Организовать поиск ютуб ссылки (например на запрос Дудь алгоритм должен вернуть https://www.youtube.com/watch?v=SPauxWv1Rnk,который мы уже преобразуем в
https://r1---sn-pouxga5o-vu2l.googlevid ... mm=31%2C29
Т.е Шанс что локальная Алиса заговорит есть ) - это по п.4
проверять папку КЕШа того же RHVoice\Yandex и воспроизводить последний файл в папке
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Вс фев 18, 2018 10:40 pm

Dicont писал(а): Т.е Шанс что локальная Алиса заговорит есть ) - это по п.4
проверять папку КЕШа того же RHVoice\Yandex и воспроизводить последний файл в папке
Говорить заставлять через DLNA надо немного по-другому...почитайте про pulseaudio-dlna...на компе надо поднять стрим dlna и отправить ссылку на этот стрим колонке. Тогда всё что на компе воспроизводится - будет воспроизводится и в колонке.

Вот пример скрипта без участия модуля. Единственное - надо строку json_data из модуля скопировать, и перенести сюда.

Код: Выделить всё

require_once(DIR_MODULES.'/app_dlna/upnp/vendor/autoload.php');
use jalder\Upnp\Renderer;
$json_data='тут json_data из модуля';
$renderer=json_decode($json_data, true);

$remote = new Renderer\Remote($renderer);
$url='http://ep128.hostingradio.ru:8030/ep128';
$result = $remote->play($url);

/*$result = $remote->pause();
$result = $remote->stop();
$result = $remote->unpause();*/
print_r($result);
$result - единственный дебаг, который есть...для большего - надо капать и переписывать библиотеку саму.
У меня при отправке на телек выдал пачку ошибок каких-то...буду пытаться исправить.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Вс фев 18, 2018 11:05 pm

Да можно из библиотеки писать в какую-нибудь временную таблицу.

Тут есть функция поиска Chromecast

https://github.com/ChrisRidings/CastV2i ... mecast.php

Код: Выделить всё

require_once("/var/www/modules/CastV2inPHP-master/Chromecast.php");
print_r(Chromecast::scan()); 

Код: Выделить всё

Array ( [Google-Home-835455054045c50c09c3ddc5e98fc537._googlecast._tcp.local] => Array ( [port] => 8009 [ip] => 192.168.1.197 [target] => 83545505-4045-c50c-09c3-ddc5e98fc537.local [friendlyname] => Коридор ) ) 
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Пн фев 19, 2018 6:08 am

Ну та что в модуле - тоже хромкаст ищет спокойно.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Пн фев 19, 2018 7:14 am

Synology добавил как пустую запись
СпойлерПоказать
Безымянный32.png
Безымянный32.png (8.96 КБ) 3722 просмотра
JSON
СпойлерПоказать
{"http":"HTTP\/1.1 200 OK","cache-control":"max-age=1900","st":"upnp:rootdevice","usn":"uuid:73796E6F-6473-6D00-0000-001132097ecf::upnp:rootdevice","ext":"EXT:","server":"Synology\/DSM\/","location":"http:\/\/:5000\/ssdp\/desc-DSM-eth0.xml","description":[false]}
А вот колонки гугл не добавилось.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить