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

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

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Пт фев 23, 2018 8:59 pm

Интересно...вроде картинки неизвесных девайсов должен брать отсюда /templates/app_dlna/img/unk.png...откуда он тот путь берет - ума не приложу Оо
За это сообщение автора nick7zmail поблагодарил:
directman66 (Пт фев 23, 2018 9:11 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] DLNA

Сообщение tarasfrompir » Пт фев 23, 2018 9:35 pm

Все картинки берутся из этой функции -function getDefImg($dev)
В ващем случае из сюда - app_dlna.scan.inc.php
Но она уже доработана и звучит сейчас так - (спасибо ТирексУ)

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

function getDefImg($dev)
{
$result = $dev["presentationURL"] . $dev["iconList"]["icon"]["0"]["url"];
if($result) {
    return $dev["presentationURL"] . $dev["iconList"]["icon"]["0"]["url"];
}   
$result = "/templates/SSDPFinder/img/".$dev["manufacturer"].".png";
    if (!$result) {
        return "/templates/SSDPFinder/img/unknow.png";
    }else  {
     return $result;
    }
}
 
а в вашем случае так

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

function getDefImg($dev)
{
$result = $dev["presentationURL"] . $dev["iconList"]["icon"]["0"]["url"];
if($result) {
    return $dev["presentationURL"] . $dev["iconList"]["icon"]["0"]["url"];
}   
$result = "/templates/app_dlna/img/".$dev["manufacturer"].".png";
    if (!$result) {
        return "/templates/app_dlna/img/unknow.png";
    }else  {
     return $result;
    }
}
 
ТОЛЬКО надо подгрузить картинку для неизвестных устройств
Извените английская клава без русских букв
unknow.png =вот это надо подгрузить
А первое иФ БЕРЕТ картинку из устройства

ПС Картинку берет по названию производителя
ППС кстати картинку взял для мажордомо - найдете в гите https://github.com/tarasfrompir/SSDPFin ... Finder/img
Последний раз редактировалось tarasfrompir Пт фев 23, 2018 10:09 pm, всего редактировалось 4 раза.
Спасибо нам ПОМОЖЕТ..!
Dicont
Сообщения: 112
Зарегистрирован: Вс дек 17, 2017 11:24 pm
Благодарил (а): 34 раза
Поблагодарили: 11 раз

Re: [Модуль] DLNA

Сообщение Dicont » Пт фев 23, 2018 10:03 pm

nick7zmail писал(а):Интересно...вроде картинки неизвесных девайсов должен брать отсюда /templates/app_dlna/img/unk.png...откуда он тот путь берет - ума не приложу Оо
Вот что браузер пишет:

part content loaded
dev_unknown.png Failed to load resource: the server responded with a status of 404 (Not Found)
VM3964 admin.php:1585 part content loaded
dev_unknown.png Failed to load resource: the server responded with a status of 404 (Not Found)
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Пт фев 23, 2018 11:44 pm

По поводу хромкастов, тут есть описание протокола и пример эмулятора. Очень познавательно. И есть теперь с чем тестировать, при отсутствии оных.

https://m.habrahabr.ru/post/210742/

Отправлено с моего Redmi Note 3 через Tapatalk
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] DLNA

Сообщение tarasfrompir » Пт фев 23, 2018 11:56 pm

Вот здесь полное описание протокола (я надеюсь)
Вложения
UPnP-arch-DeviceArchitecture-v2.0.docx
Протокол
(2.34 МБ) 216 скачиваний
Спасибо нам ПОМОЖЕТ..!
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Сб фев 24, 2018 4:47 pm

Мы готовы тестить что-нибудь новое )
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Сб фев 24, 2018 5:30 pm

tarasfrompir1 писал(а):Все картинки берутся из этой функции -function getDefImg($dev)
В ващем случае из сюда - app_dlna.scan.inc.php
Но она уже доработана и звучит сейчас так - (спасибо ТирексУ)
ТОЛЬКО надо подгрузить картинку для неизвестных устройств
Извените английская клава без русских букв
unknow.png =вот это надо подгрузить
А первое иФ БЕРЕТ картинку из устройства

ПС Картинку берет по названию производителя
Это практически первое, что я переделал в модуле с самого начала. Чтобы тырились картинки, если они есть на устройствах.
только сделал немного по-другому.

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

{
    if($dev["presentationURL"] && $dev["iconList"]["icon"]["0"]["url"]) {
        return substr($dev["presentationURL"], 0, -1). $dev["iconList"]["icon"]["0"]["url"];
не знаю как у вас, но у меня в presentationURL попадал url со / в конце, а iconList начинался со слеша...как только сделал так, как у меня написано - картинки подгрузились.
unkown у меня тоже подбирался, но не тот путь на который жаловались...по-этому удивился...потом нашел - это тоже где-то в начале в тэмплэйте а не в php прописал...со следующим обновлением поправится...
С иконками есть ещё одна проблема, что вариант, который в модуле ssdpfinder - тоже не правильный...ибо есть в сети устройства, у которых указан $dev["iconList"]["icon"]["0"]["url"], но при этом не указан $dev["presentationURL"], при этом условие

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

$result = $dev["presentationURL"] . $dev["iconList"]["icon"]["0"]["url"];
if($result)
отработает, но картинку не покажет....вот пытаюсь побороть эту проблему.
Картинку по имени производителя - тоже сомнительный вариант...создал я картинку "камера", хочу, чтобы она на всех камерах была...мне дублировать её для каждого производителя камеры? не совсем правильно....
directman66 писал(а):скрин кинуть, и на неподгрузившихся картинках правой кнопкой - посмотреть код - и адр
Да я бы с удовольствием))) рассматривал вчера твой скрипт по отправке мувика на тв...блин...я не могу сообразить как имея вот этот набор данных

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

{
"http":"HTTP\/1.1 200 OK",
"cache-control":"max-age=1800",
"date":"Thu, 01 Jan 1970 08:17:40 GMT",
"ext":"",
"location":"http:\/\/192.168.1.82:7676\/smp_11_",
"server":"SHP, UPnP\/1.0, Samsung UPnP SDK\/1.0",
"st":"upnp:rootdevice",
"usn":"uuid:08583b01-008c-4874-b3aa-ffffffffffff::upnp:rootdevice",
"content-length":"0",
"description":{
"specVersion":{
"major":"1",
"minor":"0"
},
"device":{
"deviceType":"urn:schemas-upnp-org:device:MediaRenderer:1",
"friendlyName":"[TV] Samsung",
"manufacturer":"Samsung Electronics",
"manufacturerURL":"http:\/\/www.samsung.com\/sec",
"modelDescription":"Samsung TV DMR",
"modelName":"UE40H6203",
"modelNumber":"AllShare1.0",
"modelURL":"http:\/\/www.samsung.com\/sec",
"serialNumber":"20110517DMR",
"UDN":"uuid:08583b01-008c-4874-b3aa-ffffffffffff",
"iconList":{
"icon":[
{
"mimetype":"image\/jpeg",
"width":"48",
"height":"48",
"depth":"24",
"url":"\/dmr\/icon_SML.jpg"
},
{
"mimetype":"image\/jpeg",
"width":"120",
"height":"120",
"depth":"24",
"url":"\/dmr\/icon_LRG.jpg"
},
{
"mimetype":"image\/png",
"width":"48",
"height":"48",
"depth":"24",
"url":"\/dmr\/icon_SML.png"
},
{
"mimetype":"image\/png",
"width":"120",
"height":"120",
"depth":"24",
"url":"\/dmr\/icon_LRG.png"
}
]
},
"serviceList":{
"service":[
{
"serviceType":"urn:schemas-upnp-org:service:RenderingControl:1",
"serviceId":"urn:upnp-org:serviceId:RenderingControl",
"controlURL":"\/smp_13_",
"eventSubURL":"\/smp_14_",
"SCPDURL":"\/smp_12_"
},
{
"serviceType":"urn:schemas-upnp-org:service:ConnectionManager:1",
"serviceId":"urn:upnp-org:serviceId:ConnectionManager",
"controlURL":"\/smp_16_",
"eventSubURL":"\/smp_17_",
"SCPDURL":"\/smp_15_"
},
{
"serviceType":"urn:schemas-upnp-org:service:AVTransport:1",
"serviceId":"urn:upnp-org:serviceId:AVTransport",
"controlURL":"\/smp_19_",
"eventSubURL":"\/smp_20_",
"SCPDURL":"\/smp_18_"
}
]
}
}
}
}
С помощью твоего скрипта закидывать инфу...там у тебя много вбитых вручную данных...вот пытаюсь раскурить)))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] DLNA

Сообщение directman66 » Сб фев 24, 2018 5:51 pm

BubbleUpnp и Packet Capture для андройд твои друзья)

Из параметров, необходимых для скрипта -
1) куда посылать пакеты

"location":"http:\/\/192.168.1.82:7676\/smp_11_",

2) потом нужно найти в каком-то из xml путь, по короторому ждет команды управления AVTransport

Он у тебя без доп пути

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

serviceType":"urn:schemas-upnp-org:service:AVTransport:1",
"serviceId":"urn:upnp-org:serviceId:AVTransport",
"controlURL":"\/smp_19_",
"eventSubURL":"\/smp_20_",
"SCPDURL":"\/smp_18_"
3) Ну и необходимо составить xml на медиа-файл. Для начала возьми пакет BubbleUpnp, далее его можно собирать от данных медиапотоков. Там на самом деле не так много параметров.

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

Re: [Модуль] DLNA

Сообщение Dicont » Сб фев 24, 2018 7:50 pm

C ICO устройств теперь порядок )
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] DLNA

Сообщение nick7zmail » Сб фев 24, 2018 7:59 pm

Знаю)) выковыривал значки откуда мог)) даже у тех девайсов, у которых в описании нет presentationURL))) Ща бум пакеты снифить, смотреть что куда шлёт.
За это сообщение автора nick7zmail поблагодарил:
directman66 (Сб фев 24, 2018 9:36 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить