31 (2018.09.22 18:35:20 отредактировано aleks123)

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

Как например написать скрипт такого рода на данный поток:

http://only-tv.org/bollywood.html

Вроде так должно быть

#EXTINF:-1 audio-track="ru" aspect-ratio="None" group-title="Фильмы",Bollywood HD
javascript:'http://cdnpotok.com/onlytv/bollywood.php'.httpGet({headers:{'Referer':'http://only-tv.org/'}}).match(/file:"(.*?)"/)[1]
Samsung UE32F5300
Windows 7 64 bit

32

Re: Как заставить играть HLS поток...?

Отлично, работает.
А как его формировали, на что нужно обратить внимание помимо php и referer?

33

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

А как его формировали, на что нужно обратить внимание помимо php и referer?

Обычно в коде страницы с интересующим вас каналом, например:

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

http://only-tv.org/bollywood.html ищутся теги <iframe где может быть ссылка на страницу с плеером.
А потом в коде уже этой страницы можно увидеть между какими символами находится ссылка, соответственно
В коде http://cdnpotok.com/onlytv/bollywood.php есть строка со ссылкой m3u8

var player = new Playerjs({id:"player", file:"http://50.7.180.50:8081/bollywood/index.m3u8?wmsAuthSign=8c432a8a136fa7026e4cc32d3578219b-1537699802-211i531i57i77"});

Значит в параметрах match нужно соответственно подправить (выделено красным)

.match(/file:"(.*?)"/)[1]

Samsung UE32F5300
Windows 7 64 bit

34

Re: Как заставить играть HLS поток...?

Я понял так, в match ставим file если мы видим в коде страницы сам поток в виде файла *.m3u8?
А остальные параметры для чего (*.?)"/)[1] ?
Что означает каждое значение?

35

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

Я понял так, в match ставим file если мы видим в коде страницы сам поток в виде файла *.m3u8?

Не совсем, в match указывается регулярное выражение, обрамлённое знаками /.

.match(/file:"(.*?)"/)[1]

Т.е. само регулярное выражение: file:"(.*?)"
Что означает, найти строку, начинающуюся на слово file с двоеточием и кавычкой. Потом идёт группировка в скобках (.*?) и заканчивается кавычкой.

.match(/file:"(.*?)"/)[1]

которая говорит с помощью специальных символов (. - любой символ, * - сколь угодно их, ? - до ближайшего совпадения) поместить найденное подходящее значение в группировку результатов.
Т.е. найти строку, начиная с  file:" и взять значение до следующего знака кавычки ".
Последние символы [1] - это взять из массива найденных группировок первое значение.

.match(/file:"(.*?)"/)[1]

Функция .match возвращает массив найденных группировок - в данном случае возвращает первую.

Если уж сильно интересно.
Регулярки для новичков
Регулярные выражения, пособие для новичков.

Sony Bravia KDL-32CX523

36

Re: Как заставить играть HLS поток...?

Спасибо за разъяснения.
Но как я понял, такое нельзя сделать потоками с этих сайтов?
http://pokazz.net/144-rtr-planeta.html
http://viks.tv/563-telenovella.html

37 (2018.09.24 19:26:06 отредактировано WendyH)

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

Но как я понял, такое нельзя сделать потоками с этих сайтов?
http://pokazz.net/144-rtr-planeta.html
http://viks.tv/563-telenovella.html

C viks.tv, как я понимаю, нет. Там ссылка на поток зашифрована и не лежит в явном виде.

А вот для pokazz.net чисто теоретически (т.к. мне проверить негде пока), можно попробовать примерно так:

#EXTINF:-1 audio-track="ru" aspect-ratio="None" group-title="Новости",РТР Планета
javascript:'http://pokazz.net/144-rtr-planeta.html'.httpGet().match(/id="srces1".*?>(.*?)</)[1]

P.S.: Проверил - не работает. При воспроизведении полученной ссылки нужно указывать HTTP заголовок referer.

Sony Bravia KDL-32CX523

38

Re: Как заставить играть HLS поток...?

WendyH пишет:

А вот для pokazz.net чисто теоретически (т.к. мне проверить негде пока), можно попробовать примерно так:

#EXTINF:-1 audio-track="ru" aspect-ratio="None" group-title="Новости",РТР Планета
javascript:'http://pokazz.net/144-rtr-planeta.html'.httpGet().match(/id="srces1".*?>(.*?)</)[1]

Проверил, не работает.

39

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

Проверил, не работает.

Да, я только что убедился тоже. Не знаю как указывать headers для уже полученных ссылок на поток.
В данном случае, необходима дополнительная установка заголовков при воспроизведении.

Sony Bravia KDL-32CX523

40

Re: Как заставить играть HLS поток...?

А вот тут как сделать?
https://europaplustv.com/online
Долго пытался, ничего не получилось, что-то упускаю...

41

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

А вот тут как сделать?
https://europaplustv.com/online
Долго пытался, ничего не получилось, что-то упускаю...

Там тоже referer нужен.

Только вот скажите честно, для чего это всё вы хотите? Ещё раз. Вроде бы говорили, что для просмотра на Android, а изучаете возможность использования javascript в m3u8 плейлистах... Которая недоступна в приложениях на andriod. Для чего?
IP-TV плеера от borpas.info для андроида нет, а другие плеера не поддерживают это.

Sony Bravia KDL-32CX523

42

Re: Как заставить играть HLS поток...?

У меня Europa Plus TV на ТВ и без реферера играет в nstream и fork

+ открыть спойлер
<channel>
<title><![CDATA[Europa Plus TV]]></title>
<parser><![CDATA[https://europaplustv.com/online|md5=|"]]></parser>
<stream_url><![CDATA[https://ad-hls-europaplus.cdnvideo.ru/europaplus/smil:eurptv2.smil/chunklist_b5128000.m3u8?md5=md5hash|COMPONENT=HLS]]></stream_url>
</channel>

Зато в IP-TV Player без проблем идёт Балканика

+ открыть спойлер
#EXTINF:-1 audio-track="bg" aspect-ratio="None" group-title="Музыка",Balkanika
javascript:'http://www.seirsanduk.com/?id=balkanika'.httpGet({headers:{'Referer':'http://iptvbulgaria.net/'}}).match(/file:"(.*?)"/)[1]
Samsung UE32F5300
Windows 7 64 bit

43

Re: Как заставить играть HLS поток...?

WendyH пишет:

Только вот скажите честно, для чего это всё вы хотите? Ещё раз. Вроде бы говорили, что для просмотра на Android, а изучаете возможность использования javascript в m3u8 плейлистах... Которая недоступна в приложениях на andriod. Для чего?
IP-TV плеера от borpas.info для андроида нет, а другие плеера не поддерживают это.

В надежде что найду Андроид-программиста с целью изменить возможности конкретного плеера под IPTV.
Тут на форуме, есть программисты в сфере Андроида?
Или раздел для создания темы?

44

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

В надежде что найду Андроид-программиста с целью изменить возможности конкретного плеера под IPTV.
Тут на форуме, есть программисты в сфере Андроида?
Или раздел для создания темы?

Как то вы по самому сложному пути пошли.
Прежде, чем найти программиста, нужно найти исходники конкретного плеера.
Или уломать автора.

Здесь на форуме - обсуждение DLNA и программы "Домашний медиа-сервер", скрипт-кодинга для получения потоков видео или тем, около этого крутящихся.
Тут вы вряд ли найдёте прогера мобильных приложений.

Если цель - смотреть IP-TV на андроиде с сайтов с токенами, то я бы опять предложил формировать плейлист на подобии как предлагал tantal. Т.е. плейлист с ссылками на каналы с уже полученными токенами и прописанными #EXTVLCOPT, которые поддерживает VLC, в том числе и на аднроид.

Формировать такой плейлист можно разными способами, с помощью скрипта, запускаемого по расписанию или с помощью того же HMS, в котором можно написать любую обработку.
Не знаю, чем не устраивает HMS, который можно использовать для просмотра каналов. Подкаст можно сделать так, что VLC плеер на андроиде с него получит только ссылку и уже без его помощи будет напрямую тянуть поток.

Sony Bravia KDL-32CX523

45 (2018.09.25 22:41:59 отредактировано Dee_Jay)

Re: Как заставить играть HLS поток...?

WendyH пишет:

Не знаю, чем не устраивает HMS, который можно использовать для просмотра каналов. Подкаст можно сделать так, что VLC плеер на андроиде с него получит только ссылку и уже без его помощи будет напрямую тянуть поток.

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

Еще вопрос, для этого сайта есть скриптовое решение?
http://t2.seetv.tv/vse-tv-online/ntv-online#link=11042

46

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

для этого сайта есть скриптовое решение?
http://t2.seetv.tv/vse-tv-online/ntv-online#link=11042

Есть, например, для streamlink ( seetv.py )

+ открыть спойлер
streamlink http://seetv.tv/vse-tv-online/match-nash-futbol best
streamlink http://seetv.tv/vse-tv-online/match-nash-futbol best

[cli][info] Found matching plugin seetv for URL http://seetv.tv/vse-tv-online/match-nash-futbol
[cli][info] Available streams: 576p (worst, best)
[cli][info] Starting player: "E:\vlc-3.0.4-win64\vlc-3.0.4\vlc.exe" --file-caching=3000
[cli][info] Got HTTP request from VLC/3.0.4 LibVLC/3.0.4
[cli][info] Opening stream: 576p (hls)
Samsung UE32F5300
Windows 7 64 bit

47

Re: Как заставить играть HLS поток...?

Сложновато тут.
А отсюда как можно? https://chas.tv/channel/sts-online

48

Re: Как заставить играть HLS поток...?

Dee_Jay пишет:

А отсюда как можно?

Тут через iframe отсюда https://staticmv.mediavitrina.ru/dist/e … c-ctc.html идёт.
На win7 идёт dash (protected) такой сейчас даже vlc не воспроизводит.

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

Через api можно получить все источники
https://media.1tv.ru/api/v1/ctc/playlis … array.json

Только для hls нужно ещё в конце ссылки добавлять текущий параметр session отсюда

Т.е. ссылка должна получаться приблизительно такая

https://mobdrm.1tv.ru/hls-live9/streams/ctc/ctc.m3u8?cdn=https://1tv-htlive.cdn.ngenix.net&s=kq4UD6lj4T6PDBfsD9qIbPZKu4pKtFQIoOOBw%2biHNJvr2ev06%2bRzioMWBvcd1HXrodiQofg2IMoUyE8GMZO09niuSAUIvG7axf0uBhqpAQYhXknKq8HWC859iZ%2bpVs4RpX2%2bWKvvbAaoN%2fni8sa4jEeMvz83z%2bKxIGohbMsMPiE%3d
Samsung UE32F5300
Windows 7 64 bit