61

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

Сервер donleone.online теперь по персональной подписке, за подпиской к хозяину/автору сервера. Сервер называется RadioC2.
Прикрутил к динамической папке картинки с сервера (в скрипте формирования списка каналов):

+ открыть спойлер

HmsRegExMatch('http(.*?):[0-9]+/',sLink,sImg1); HmsRegExMatch(':[0-9]+(/.*?)\\?',sLink,sImg2); sImg='https'+sImg1+'/media'+sImg2;

понимаю, что намудрил (упростил) и можно сделать всё одной регуляркой без дополнительных переменных, научите!

Ссылку примерно для наглядности на 2 картинки

+ открыть спойлер
HmsRegExMatch2('http(.*?):[0-9]+(/.*?)\\?',sLink,sImg1,sImg2);

как-то так

Отладка кода — это как охота. Только охота, на баги.

62

Re: Интернет радио премиум AudioAddict

Spell пишет:

как-то так

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

Пример такой:
http://donleone.online:8448/00s_rock?xx … xxxxxxxxxx
http://donleone.online:8448/alternative … xxxxxxxxxx

где xxxxxxxxxxxxxxxxxxxxxxxx - персональный ключ доступа, картинки берутся без ключа, но по https, по идее надо убрать ?xxxxxxxxxxxxxxxxxxxxxxxx и заменить http на https, :8448 на /media

Вот как всё это сделать одной регуляркой? И долго не мог понять, что не так, пока не понял, что \d+ не работает, а [0-9]+ работает, хотя это одно и то же.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

63

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

\d+ не работает, а [0-9]+ работает, хотя это одно и то же.

попробуйте так \\d+

Отладка кода — это как охота. Только охота, на баги.

64 (2019.07.30 23:48:30 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

Spell пишет:

а попробуйте так \\d+ когда-то WendyH писал где то бо этом.

Ага, может быть, потому как \? не работает, а \\? работает, в общем есть отличие от стандарта, понял свой косяк.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

65

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

Ага, может быть, потому как \? не работает, а \\? работает, в общем есть отличие от стандарта, понял свой косяк.

А сколько там примерно радиостанций, если много тогда,
Вам нужно будет в цикле перебирать и присваивать переменные к ссылке на иконки
Вопрос такой еще ссылки должны быть такого плана?

+ открыть спойлер

http на https, :8448 на /media

https://donleone.online/media/00s_rock или https://donleone.online/media/alternative_rock 
Отладка кода — это как охота. Только охота, на баги.

66 (2019.07.30 23:57:26 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

Spell пишет:

А сколько там примерно радиостанций

Я правлю скипт создания списка, картинки от WendyH, но у него картинки берутся с lostcut.net, т.е. он добавлял локально к себе, зачем, если есть картинки на ресурсе, надо было только спросить автора, где их брать.

ЗЫ речь о ресурсе в первом сообщении темы.

Spell пишет:

Вопрос такой еще ссылки должны быть такого плана?

совершенно верно, там картинки 400x400 по названию ресурса

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

67

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

Я правлю скипт создания списка, картинки от WendyH, но у него картинки берутся с lostcut.net, т.е. он добавлял локально к себе, зачем, если есть картинки на ресурсе, надо было только спросить автора, где их брать.

ЗЫ речь о ресурсе в первом сообщении темы.

В общем пока так:

+ открыть спойлер

HmsRegExMatch2('http(.*?):\\d+(/.*?)\\?',sLink,sImg1,sImg2); sImg='https'+sImg1+'/media'+sImg2;

Я бы проще сделал бы sImg1 будет название радио станции 00s_rock или alternative_rock

+ открыть спойлер
HmsRegExMatch('/.*/(.*?)\\?',sLink,sImg1); sImg='https://donleone.online/media/sImg1';
Отладка кода — это как охота. Только охота, на баги.

68

Re: Интернет радио премиум AudioAddict

Spell пишет:

Я бы проще сделал бы

А если адрес ресурса сменится? А если клон с другим адресом? Каждый раз текст править? Тогда и порт можно было цифрами набрать.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

69

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

А если адрес ресурса сменится? А если клон с другим адресом? Каждый раз текст править? Тогда и порт можно было цифрами набрать.

Так дописать не проблема

+ открыть спойлер
HmsRegExMatch2('http(.*):.*/(.*?)\\?',sLink, sImg1, sImg2 ); sImg='https'+sImg1+'/media/'+sImg2;
//вывод ссылок
//https://donleone.online/media/00s_rock 
// https://donleone.online/media/alternative_rock 
Отладка кода — это как охота. Только охота, на баги.

70 (2019.08.08 15:07:46 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

В общем подредактировал скрипт, сделал в виде подкаста с авторизацией в корневой папке.
Ключ авторизации (он же пароль) вводить в авторизацию основной папки и галку на "Страницы", авторизация используется при скачивании плэй-листа для создания списка каналов. Логин не обязательно (не используется).

+ открыть спойлер

https://hms.lostcut.net/misc.php?action=pun_attachment&item=3817

добавил новый вариант.

Прикреплённые файлы сообщения

Radio-C2.png 23.29 kb, скачивалось 135 раз, начиная с 2019.08.08

Radio-C2.zip 2.7 kb, скачивалось 381 раз, начиная с 2019.08.08

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

71

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

В общем подредактировал скрипт, сделал в виде подкаста с авторизацией в корневой папке.

Не скачивает файл. Сожми в ZIP и прикрепи. Проверим.

LG 42LM640T
Профиль  Универсальный
Видишь суслика ? Нет ! И я нет ! А он есть !!!

72 (2019.08.08 12:52:12 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

Leshiy71 пишет:

Не скачивает файл. Сожми в ZIP и прикрепи.

Уже сделали добрые люди, спасибо.

Leshiy71 пишет:

Проверим.

Вчера (07.08.19) целый день сервер отваливался, были технические проблемы, сейчас всё работает. Ключ авторизации (он же пароль) вводить в авторизацию основной папки и галку на "Страницы", авторизация используется при скачивании плэй-листа для создания списка каналов. Логин не обязательно (не используется).

В общем надо переделать. Скрипт надо цеплять к основной папке, а в подкастах наследовать. Настройка транскодирования для устройств тоже делается в основной папке.
добавил обновленный вариант
Radio-C2.zip

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

73

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

добавил обновленный вариант

Спасибо, всё работает как надо.
Только, хоть мне и транскод на хрен не нужен, но при выставлении транскода всё идёт всё равно напрямую без транскода. И кстати, на разделах стоят разные галки, наследовать и оригинальная ссылка.
Попозже добавлю ссылку в шапку на пост.

LG 42LM640T
Профиль  Универсальный
Видишь суслика ? Нет ! И я нет ! А он есть !!!

74 (2019.08.11 07:56:12 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

Leshiy71 пишет:

Спасибо, всё работает как надо.
при выставлении транскода всё идёт всё равно напрямую без транскода
И кстати, на разделах стоят разные галки, наследовать и оригинальная ссылка.
Попозже добавлю ссылку в шапку на пост.

Пока не надо добавлять, я сам кучу косяков нашёл, доделаю сначала. Добавлю ещё логотипы каналов.
Ну и, возможно, если договорюсь с автором сервера, обновляемый список каналов.
С транскодом не разобрался ещё, не то что бы он совсем не работает, иногда срабатывает и я не понимаю, почему так. У меня на разные устройства стоит разный транскод. Например, телевизор sony не понимает mp3 поток, только lpcm.
P.S. в шапку можно добавить, что ресурс доступен по 3м адресам:
https://donleone.online
https://radioc2.online
https://radioc2.ru

Ну и сейчас сайт переезжает на новое железо.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

75

Re: Интернет радио премиум AudioAddict

Leshiy71 пишет:

Только, хоть мне и транскод на хрен не нужен, но при выставлении транскода всё идёт всё равно напрямую без транскода. И кстати, на разделах стоят разные галки, наследовать и оригинальная ссылка.

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

+ открыть спойлер
      // Создаём ссылку
      Item = HmsCreateMediaItem(sLink, FolderItem.ItemID);
      Item[mpiTitle    ] = sName; // Наименование
      Item[mpiThumbnail] = sImg;  // Картинка
      Item[mpiAlbum] = sName;
      Item[mpiDirectLink] = '1';
      //Item[mpiMimeType] = 'audio/mpeg';  -- это надо убрать!
      Item[mpiAuthor     ] = mpTitle;
BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

76

Re: Интернет радио премиум AudioAddict

Добрый день!

В скрипте можно проверять, с какого устройства идет запрос и менять сценарий по своему усмотрению. Я это делаю так:

+ открыть спойлер

Объявляю массив устройств, которые поддерживают поток напрямую

Array DLDEVS=['SPMC-Android','Samsung UE40H5500 (DLNA, 16:9, 1920x1080)', 'VLC Media Player (8k, 16:9, 7680x4320)']; //Скопировать тип из профиля устройства

Далее в коде добавляю условие

if (MatchText(cfgDeviceType,DLDEVS,true,true)) {
    HmsLogMessage(1, "Direct link capable device detected");
    // код, который нужно выполнить
  }

Естественно можно и от обратного. В условии поставить отрицание.

77

Re: Интернет радио премиум AudioAddict

d1mas пишет:

В скрипте можно проверять, с какого устройства идет запрос и менять сценарий по своему усмотрению.

После того, как убрал установку MimeType для каналов, можно вообще ничего не устанавливать, всё работает в соответствии с настройками устройств.
Но, теоретически, может пригодиться.

А изначально с какой целью делалась установка типа?

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

78

Re: Интернет радио премиум AudioAddict

d1mas пишет:

В скрипте можно проверять, с какого устройства идет запрос

Array DLDEVS=['SPMC-Android','Samsung UE40H5500 (DLNA, 16:9, 1920x1080)', 'VLC Media Player (8k, 16:9, 7680x4320)']; //Скопировать тип из профиля устройства

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

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

79

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

После того, как убрал установку MimeType для каналов, можно вообще ничего не устанавливать, всё работает в соответствии с настройками устройств.
Но, теоретически, может пригодиться.

А изначально с какой целью делалась установка типа?

Изначально делал для интернет-радио. Там можно указать тип "Скрипт зависимое от устройства" или как-то так.
Так вот с такой настройкой генерятся медиаресурсы индивидуально для устройства. И параметры для них можно задавать индивидуальные.
Конкретно в моем кейсе: добиться работы с потоком напрямую поддерживающими это устройствами, для остальных транскодировать.

80

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

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

Возможно есть переменная и с именем устройства (ну типа CfgDeviceName. не уверен, нужно посмотреть доступные переменные), мне хватило названия профиля. В вашем случае получается и имя одно и профиль. Только IP отличается?

81 (2019.08.13 16:44:12 отредактировано fctsu001)

Re: Интернет радио премиум AudioAddict

d1mas пишет:

Возможно есть переменная и с именем устройства (ну типа CfgDeviceName. не уверен, нужно посмотреть доступные переменные), мне хватило названия профиля. В вашем случае получается и имя одно и профиль. Только IP отличается?

Отличается IP и MAC, но реально у меня несколько разных устройств с разными IP, но с одним MAC (потому что MAC роутера). А HMS различает устройства по MAC. Ну и хожу я на него с устройств, которые не в сегменте сети, по web. Тут тоже засада, стоит попытаться зайти по web с локалки, вместо навигации выскакивает страничка с предложением скачать DLNA-клиент.

PS в редакторе набрал cfg..., в подсказке поперебирал, всё, что есть, нет этого. Есть класс THmsScriptUPnPDevice, может можно как какое либо свойство объекта класса взять?

d1mas пишет:

Конкретно в моем кейсе: добиться работы с потоком напрямую поддерживающими это устройствами, для остальных транскодировать.

При установке  Item[mpiDirectLink] = '1'; и так везде прямая ссылка, если нужно транскодировать или для устройств, которые не поддерживают формат ресурса по ссылке, входим через папку "транскодирование" и всё то же самое получается. Если я не ошибаюсь, то в профилях устройств есть галка "не транскодировать, если формат поддерживается устройством".

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

82

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

Отличается IP и MAC, но реально у меня несколько разных устройств с разными IP, но с одним MAC (потому что MAC роутера). А HMS различает устройства по MAC. Ну и хожу я на него с устройств, которые не в сегменте сети, по web. Тут тоже засада, стоит попытаться зайти по web с локалки, вместо навигации выскакивает страничка с предложением скачать DLNA-клиент.

PS в редакторе набрал cfg..., в подсказке поперебирал, всё, что есть, нет этого. Есть класс THmsScriptUPnPDevice, может можно как какое либо свойство объекта класса взять?

А что мешает по определять устройства IP? Конечно для этого нужно их на VPN сервере закрепить за устройством, но это вполне тривиальная задача.

Про класс не скажу. Можно ли в него запихнуть текущее устройство не знаю.

83

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

При установке  Item[mpiDirectLink] = '1'; и так везде прямая ссылка, если нужно транскодировать или для устройств, которые не поддерживают формат ресурса по ссылке, входим через папку "транскодирование" и всё то же самое получается. Если я не ошибаюсь, то в профилях устройств есть галка "не транскодировать, если формат поддерживается устройством".

Вот мне и захотелось на один шаг короче сделать,что б в папку транскодирование не заходить :)

84

Re: Интернет радио премиум AudioAddict

d1mas пишет:

А что мешает по определять устройства IP?

Мешает логика поведения HMS, при внесении IP автоматом цепляется MAC, потом при изменении IP устройство не меняется, считается, что MAC тот же, значит просто сменился IP устройства. С VPN могу делать что угодно естественно, сейчас на каждый логин выделен свой адрес. С разных устройств под одним логином один адрес, под другим - другой. Для некоторых логинов диапазон.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

85

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

Мешает логика поведения HMS, при внесении IP автоматом цепляется MAC, потом при изменении IP устройство не меняется, считается, что MAC тот же, значит просто сменился IP устройства.

Странно. У меня такого не наблюдается. Сейчас специально проверил. Прописал устройству IP, MAC стер. На спасательные круги не нажимал. Перегрузил HMS. Запросил фильм с тестового устройства. MAC не прописался.

86

Re: Интернет радио премиум AudioAddict

d1mas пишет:

Прописал устройству IP, MAC стер. Запросил фильм с тестового устройства.

Попробуйте теперь поменять устройству ip и ещё раз запросить тестовое устройство.
Сам попробую ещё раз.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

87

Re: Интернет радио премиум AudioAddict

А есть редактор профилей типов устройств? Что то не нашёл. Хочу сделать свой профиль для устройства VPN с порезанными битрейтами.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

88

Re: Интернет радио премиум AudioAddict

fctsu001 пишет:

А есть редактор профилей типов устройств? Что то не нашёл. Хочу сделать свой профиль для устройства VPN с порезанными битрейтами.

Так настраиваете профиль, как нужно, даете имя и кнопкой сохранить экспортируете.

Спасибо сказали: fctsu0011

89

Re: Интернет радио премиум AudioAddict

d1mas пишет:

кнопкой сохранить экспортируете.

При попытке переименовать тип устройства пропадает кнопка сохранения типа устройства. Собственно мне надо новый тип сделать.

BRAVIA KDL-40EX700, webos@LG-42LF650V, WDTVLive, Enigma@DM800, Enigma@GI-S8120, Android@LT-43T600F, Philps 46pdl8908s

90

Re: Интернет радио премиум AudioAddict

+ открыть спойлер

https://hms.lostcut.net/misc.php?action=pun_attachment&item=3820
https://hms.lostcut.net/misc.php?action=pun_attachment&item=3821
https://hms.lostcut.net/misc.php?action=pun_attachment&item=3822

Ну а дальше загружаете его в нужное устройство. Разве не так?

Прикреплённые файлы сообщения

1.jpg 367.01 kb, скачивалось 122 раза, начиная с 2019.08.18

2.jpg 373.97 kb, скачивалось 119 раз, начиная с 2019.08.18

3.jpg 315.94 kb, скачивалось 106 раз, начиная с 2019.08.18