[Модуль] SSDP Finder (ssdp_finder)
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Для T-REX-XP а где пропало сохранение устройств?
Ну да ладно упростил немного исходники для старта - чтобы понятнее было (оставил только основные функции).
Пулреквест посмотри...
Ну да ладно упростил немного исходники для старта - чтобы понятнее было (оставил только основные функции).
Пулреквест посмотри...
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 174
- Зарегистрирован: Вт июн 16, 2015 10:54 pm
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: Модуль - SSDPFinder
Посмотрю в коммитах, возможно что то удалил случайно. Но его все равно надо переделывать.tarasfrompir1 писал(а): а где пропало сохранение устройств?
Вот файл: https://github.com/sergejey/majordomo/b ... re.inc.php
Его нужно расширить сейчас двумя устройствами: MediaServer, MediaRender (пока для пробы только эти)
Давайте определимся со свойствами этих обьектов. Если кто-то разбирался с отправкой контента на устройства, напишите какие минимальные поля добавить в эти обьекты.
З.Ы. В этот файл нужно будет добавить целую кучу девайсов, но давайте начнем с MediaServer, MediaRender.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Ну тогда и фиг с ним... Да и давай на ти всеравно вголос послать никак значит не погриземся...
Устройства никто переделівать не даст - я уже пробовал.
Лучше уж сделать свои так сказать просто копию Простіх устройстВ или добавлять свои... в простие устройства
Вариант один одного не лучше , но 2 легче так что решай сам...
Устройства никто переделівать не даст - я уже пробовал.
Лучше уж сделать свои так сказать просто копию Простіх устройстВ или добавлять свои... в простие устройства
Вариант один одного не лучше , но 2 легче так что решай сам...
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
По поводу -
Согласен , не углядел..
Подправил -прими реквест
СпойлерПоказать
зря удалил, часть картинок можно показывать с самого девайса. а если нет возможности понять откуда картинка, то искать у себя в папке.
Подправил -прими реквест
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: Модуль - SSDPFinder
по поводу отправки контента тут надо понимать по какому протооколу.
Для AVTransort у меня есть примеры отправки ссылки на телевизор:
Именно так поступает BubbleUpnp.
Медиа-колонки DNLA ссылку получают другим протоколом. К сожаленю чисто колонки DNLA у меня нет, только гугл хоум, а у него свой какойто алгорим через google cast.
Для AVTransort у меня есть примеры отправки ссылки на телевизор:
Именно так поступает BubbleUpnp.
СпойлерПоказать
Код: Выделить всё
//вызов rs(dnlaplay, array('fn' =>$path);
$fn=$params['fn'];
if ($fn==""){$fn="http://192.168.1.31:32469/object/df4b8e517919aa1f643c/file.mkv";}
$luts=gg("9732d18b-48f1-7f50-2b02-463b0f37e9a7.timestamp");
$diff=(gmdate('i',trim(time()-$luts)));
$pattern = "|\b[0]+([1-9][\d]*)|is";
$diff2= preg_replace($pattern, "\\1", $diff);
echo "Информация была обновлена " .$diff2 . " минут назад.";
if ($diff2>60) { echo "Запускаю обновление данных!"; rs('dnlasearch');}
$url=gg('9732d18b-48f1-7f50-2b02-463b0f37e9a7.LOCATION');
//$host=explode(":",$url)[0].explode(":",$url)[1];
$host=str_replace('/','',explode(":",$url)[1]);
//$host="192.168.1.41";
$port=str_replace('/','',explode(":",$url)[2]);
$controlURL=gg('9732d18b-48f1-7f50-2b02-463b0f37e9a7.controlURL');
echo 'host:'.$host."<br>";
echo 'port:'.$port."<br>";
echo 'controlURL:'.$controlURL."<br>";
//command:
//SetAVTransportURI
//Stop
//Play
//AVTransport
///AVTransport/9732d18b-48f1-7f50-2b02-463b0f37e9a7/control.xml
echo 'Stop<br>';
//Stop
$xml = '<?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Stop></s:Body></s:Envelope>
';
$asnw=sendpacket($host,$port,$controlURL,'Stop', $xml);
echo $asnw;
echo 'SetAVTransportURI<br>' ;
sleep(1);
//SetAVTransportURI
$xml = '<?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><CurrentURI>'.$fn.'</CurrentURI><CurrentURIMetaData><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:pv="http://www.pv.com/pvns/"><item id="df4b8e517919aa1f643c" parentID="c104054e5a4c8c3c046e" restricted="1"><upnp:class>object.item.videoItem</upnp:class><dc:title>Aritmija Web Dl</dc:title><dc:creator>Unknown</dc:creator><upnp:artist>Unknown</upnp:artist><upnp:albumArtURI>http://192.168.1.31:32469/proxy/c9ccea0d9cf75f43c34b/albumart.jpg</upnp:albumArtURI><upnp:genre>Unknown</upnp:genre><res protocolInfo="http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000" bitrate="692000" nrAudioChannels="6" size="4810724267" resolution="1920x1038" duration="1:55:52.000">'.$fn.'</res></item></DIDL-Lite></CurrentURIMetaData></u:SetAVTransportURI></s:Body></s:Envelope>
';
$asnw=sendpacket($host,$port,$controlURL,'SetAVTransportURI', $xml);
echo $asnw;
echo 'Play<br>';
sleep(1);
//Play
$xml= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope>
';
$asnw=sendpacket($host,$port,$controlURL,'Play', $xml);
echo $asnw;
function sendpacket($host,$port,$AVTransport, $command, $xml){
///play
$body=$xml;
$headers = 'POST '.$AVTransport.' HTTP/1.1
Soapaction: "urn:schemas-upnp-org:service:AVTransport:1#'.$command.'"
CONTENT-TYPE: text/xml; charset="utf-8"
HOST: '.$host.':'.$port;
$content=$headers . '
Content-Length: '. strlen($body) .'
'. $body;
echo $host.":". $port;
$fp = fsockopen($host, $port , $errno, $errstr, 10);
if (!$fp)
{echo "Error opening socket: ".$errstr." (".$errno.")<br>";} else
{
$ret = "";
$buffer = "";
// fputs ($fp, $content);
// while (!feof($fp)) {
// $buffer = fgets($fp,128);
// echo "\n;" . $buffer . ";\n";
// $ret.= $buffer;
fwrite($fp, $content);
//while (!feof($fp)) {
//$buffer = fgets($fp,128);
//echo fgets($fp, 128);
//$ret.= $buffer;
// }
fclose($fp);
}
// echo "\n\nReturn:" . $ret . "!!\n";
fclose($fp);
return $ret;
}
Медиа-колонки DNLA ссылку получают другим протоколом. К сожаленю чисто колонки DNLA у меня нет, только гугл хоум, а у него свой какойто алгорим через google cast.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 174
- Зарегистрирован: Вт июн 16, 2015 10:54 pm
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: Модуль - SSDPFinder
directman66 писал(а): Медиа-колонки DNLA ссылку получают другим протоколом. К сожаленю чисто колонки DNLA у меня нет, только гугл хоум, а у него свой какойто алгорим через google cast.
Давайте идти постепенно, сначала сделам общие вещи, все таки медиа серверы и медиа клиенты есть у всех, а потом перейдем на решение для более экзотических устройств.
-
- Сообщения: 174
- Зарегистрирован: Вт июн 16, 2015 10:54 pm
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: Модуль - SSDPFinder
Немного не понял...tarasfrompir1 писал(а):Ну тогда и фиг с ним... Да и давай на ти всеравно вголос послать никак значит не погриземся...
Устройства никто переделівать не даст - я уже пробовал.
Лучше уж сделать свои так сказать просто копию Простіх устройстВ или добавлять свои... в простие устройства
Вариант один одного не лучше , но 2 легче так что решай сам...
Моя идея в том чтобы расширить список простых устройств двумя: MediaServer, MediaRender.
Ты пишишь о том что автор MJD не принимает пулреквесты с новими девайсами\Фичами для этого модуля??
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Идея по расширению простых устройств не у тебя первая.
Расширять устройства можно лишь создав свои.
Модуль я уже написал. Так что создавай сколько хочеш и каких хочеш И все это находится в простых устройствах.
Выложу ночью.
По поводу пула - прими плиз последний пул ...
А все остальное будет после 23 00
еще коечто нарыл выложу ночью.
Блин клавиатура без букв так что писать не очень удобно.
Расширять устройства можно лишь создав свои.
Модуль я уже написал. Так что создавай сколько хочеш и каких хочеш И все это находится в простых устройствах.
Выложу ночью.
По поводу пула - прими плиз последний пул ...
А все остальное будет после 23 00
еще коечто нарыл выложу ночью.
Блин клавиатура без букв так что писать не очень удобно.
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Вот тут выложил результат https://github.com/tarasfrompir/SSDPFinder
Попробуй и скажеш подходит ли такой вариант.
Сильно не испытавыл но СВОИ (редактируемые) устройства SSDPDevise - полностью завязаны на Простые устройства.
При редактировании этого файла https://github.com/tarasfrompir/SSDPFin ... re.inc.php создаш свое новое устройство - которое отобразится и в простом устройстве .
Так что изменения приму все (НО проверяйте перед тем как выкладывать)
как пример там есть май ламп.....
ПС устройства сильно не проверял = добавило пробу и норм так что сильно не пинайте...
моя Василиса сейчас вырублена - так что проверял только на работе...
ППС
Да, АДМИНЫ удалите это - viewtopic.php?f=7&t=5111
ПППС
Отпишись о результатах
Попробуй и скажеш подходит ли такой вариант.
Сильно не испытавыл но СВОИ (редактируемые) устройства SSDPDevise - полностью завязаны на Простые устройства.
При редактировании этого файла https://github.com/tarasfrompir/SSDPFin ... re.inc.php создаш свое новое устройство - которое отобразится и в простом устройстве .
Так что изменения приму все (НО проверяйте перед тем как выкладывать)
как пример там есть май ламп.....
ПС устройства сильно не проверял = добавило пробу и норм так что сильно не пинайте...
моя Василиса сейчас вырублена - так что проверял только на работе...
ППС
Да, АДМИНЫ удалите это - viewtopic.php?f=7&t=5111
ПППС
Отпишись о результатах
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 174
- Зарегистрирован: Вт июн 16, 2015 10:54 pm
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: Модуль - SSDPFinder
Наброски сыроваты конечно)) Пришлось править имена файлов для того чтоб модуль поиска заработал.tarasfrompir1 писал(а):Вот тут выложил результат https://github.com/tarasfrompir/SSDPFinder
Сегодня доработал модуль:
[*] Обновил интерфейс модуля
[*] Починил иконки, в соответствии с типом будет подсовываться иконка если нет стандартной (старые иконки не удалял еще с гита)
[*] Починил добавление устройства, правда пока не того что надо(( создавать надо один из Простых девайсов.
з.ы. вообщем посмотреть есть уже на что))
СпойлерПоказать