Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Связь с разработчиками XBMC

Ответ
 
Опции темы Опции просмотра
Старый 24.08.2011, 03:34   #21
dj0ker
Member
 
Регистрация: 11.06.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от seppius Посмотреть сообщение
getmimetype можно отключать в плагине.
Да и все потоки которые открывает ХВМС через плагины - это http потоки.
Так что если есть руки, то можно решить все проблемы. С http это намного проще.
в каком плагине?
dj0ker вне форума   Ответить с цитированием
   
Старый 24.08.2011, 03:38   #22
dj0ker
Member
 
Регистрация: 11.06.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от MATPOC Посмотреть сообщение
Navi-X не проверяет getmimetype всех пунктов при открытии плейлиста. Просто надо плейлист сделать. Я писал простенький скрипт, который m3u плейлист конвертирует в плейлист Navi-X, но что-то не могу найти. Впрочем, там совсем просто. Могу на выходных набросать снова.
будь добр. спасибо.
dj0ker вне форума   Ответить с цитированием
Старый 24.08.2011, 16:03   #23
LordMerlin
Senior Member
 
Аватар для LordMerlin
 
Регистрация: 11.12.2009
Адрес: Russia
Сообщений: 2,184
По умолчанию

Офигенский плагин. Будем очень благодарны за конвертер!!!
__________________
Dune HD TV-102/Pioneer VSX-520-K/Samsung ES6727

ВИКИ Настройка DSPlayer: http://xbmc.ru/wiki/index.php?title=Настройка_DSPlayer
DSPlayer поддержка ускорения GPU: http://xbmc.ru/forum/showthread.php?t=12
XBMC+SVP: http://habrahabr.ru/post/181598/
Крипто-робот, бонус за регистрацию, оплата за результат: https://apitrade.pro/bonus_xbmcru.htm
LordMerlin вне форума   Ответить с цитированием
Старый 24.08.2011, 16:12   #24
dj0ker
Member
 
Регистрация: 11.06.2011
Сообщений: 29
По умолчанию

Цитата:
Сообщение от LordMerlin Посмотреть сообщение
Офигенский плагин. Будем очень благодарны за конвертер!!!
а я уже вручную все прописал.
вот рецепт как добавить кнопку с запуском navi-x из главного меню:
1) ставим дополнение homemod
2) в настройках обложки включаем допустим первый фаворит (ставим точку)
3) выключаем xbmc
4) открываем /home/юзер/.xbmc/userdata/guisettings.xml
5) находим
<setting type="string" name="skin.confluence.menu_custom1_label">ТВ</setting>
ставим название меню
6) находим
<setting type="string" name="skin.confluence.menu_custom1_path">XBMC.RunS cript(script.navi-x)</setting>
прописываем XBMC.RunScript(script.navi-x)
dj0ker вне форума   Ответить с цитированием
Старый 28.08.2011, 15:25   #25
MATPOC
Senior Member
 
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
По умолчанию

Цитата:
Сообщение от MATPOC Посмотреть сообщение
Navi-X не проверяет getmimetype всех пунктов при открытии плейлиста. Просто надо плейлист сделать. Я писал простенький скрипт, который m3u плейлист конвертирует в плейлист Navi-X, но что-то не могу найти. Впрочем, там совсем просто. Могу на выходных набросать снова.
Набросал скрипт. Скрипт очень простой - берёт плейлист в формате m3u со стандартного ввода (stdin) или указать имя файла в качестве агрумента. Плейлист в формате navi-x выводит на стандартный вывод (stdout). Позиции плейлиста m3u должны задаваться парами строк вида:

#EXTINF:что угодно , Имя канала
proto://@233.32.240.236:1234

Где proto == udp или rtp, адрес обязательно из четырёх чисел, разделённых точками. То есть этот скрипт не подойдёт для конвертирования плейлистов http типа интернет радио или онлайн-видео.

Чтобы сохранить в файл нужно переназначить вывод:

Код:
./m3u2navi-x.pl iptv.m3u > iptv.plx
PHP код:
#!/usr/bin/perl -w

sub out_navix;

while (
defined($line = <>) ) {
    if (
$line =~ /#EXTINF:.*,\s*(.*)(\s*)/) {
    
$channel_name = $1;
    
$channel_name =~ s/\r+//;

        
if (defined($line = <>)
        and (
$line =~ '(udp|rtp)://@?(\d+\.\d+\.\d+\.\d+):(\d+)')) {
        
$mproto = $1$mgroup = $2$mport = $3;
        
$murl $line;
    }
    
out_navix;
    }
}

sub out_navix
{
    print 
"type=video\n";
    print 
"name=$channel_name\n";
    print 
"URL=$murl";
    print 
"#\n";



Сам код очень простой, но там есть все заготовки для вывода плейлиста в других форматах - в переменные $mproto, $mgroup, $mport из строки URL вычленяются соответственно протокол, мультикаст группа и порт. Так как для вывода в формат navi-x эти переменные не используются, то perl выдаёт предупреждения, которые можно игнорировать:

Цитата:
Name "main::mproto" used only once: possible typo at ./m3u2navi-x.pl line 12.
Name "main::mport" used only once: possible typo at ./m3u2navi-x.pl line 12.
Name "main::mgroup" used only once: possible typo at ./m3u2navi-x.pl line 12.
Вложения
Тип файла: zip m3u2navi-x.zip (440 байт, 582 просмотров)
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912

Последний раз редактировалось MATPOC; 13.11.2011 в 22:25.
MATPOC вне форума   Ответить с цитированием
Старый 22.09.2011, 22:08   #26
MATPOC
Senior Member
 
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
По умолчанию Navi-X - плагин для провайдера IPTV.

Цитата:
Сообщение от MATPOC Посмотреть сообщение
Navi-X не проверяет getmimetype всех пунктов при открытии плейлиста. Просто надо плейлист сделать.
Кстати, Navi-X - это уже практически готовый плагин для провайдера IPTV.

В плейлисте Navi-X можно указывать и логотип канала, и маленькую его иконку при помощи таких параметров:

Код:
type=video
name=Первый канал
thumb=http://myvideoserver/picon/1-small.png
icon=http://myvideoserver/picon/1.png
URL=udp://@239.239.239.11:1234
Наш программист нашёл способ сделать и простенький EPG:

Код:
type=playlist
name=Программа передач
icon=http://myvideoserver/img/icon_text.png
URL=http://myvideoserver/navi-x/EPG.php
Отдаваемый EPG.php контент должен быть опять-таки в формате плейлиста Navi-X, типа такого:

Код:
version=1
#
background=default
logo=http://myvideoserver/icon/iptv.png
title=Программа передач
#
type=text
name=Первый канал [22:50-01:05 "Городские пижоны". "Военно-полевой госпиталь"]
URL=http://myvideoserver/navi-x/EPG.php?ch=11
#
type=text
name=Россия 2 [23:25-01:15 Летний биатлон. Чемпионат мира. Смешанная эстафета. Трансляция из Чехии]
URL=http://myvideoserver/navi-x/EPG.php?ch=12
#
Как нетрудно заметить, можно получить и EPG для отдельного канала. Скрипт
Код:
http://myvideoserver/navi-x/EPG.php?ch=11
отдаёт EPG простым тестом что-то типа такого:

Цитата:
Первый канал - Пятница 23.09.2011
01:05 - 02:00 В лучах славы
02:00 - 02:05 Новости
02:05 - 03:20 В лучах славы
03:20 - 04:00 "Хочу знать" с Михаилом Ширвиндтом
04:00 - 04:05 Новости
.......
Понятно, что у вас должен быть поднят http сервер, база данных с адресами каналов, EPG и скрипты, которые отдают EPG и пр. Можно и общий плейлист IPTV генерить динамически:

Код:
type=playlist
name=Название провайдера IPTV
thumb=http://myvideoserver/img/iptv.png
icon=http://myvideoserver/img/iptv.png
URL=http://myvideoserver/navi-x/playlist.php
При этом скрипт может генерить плейлист индивидуально для каждого клиента в зависимости от многих параметров - тарифного плана, выбранного пакета каналов и пр.
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912

Последний раз редактировалось MATPOC; 23.09.2011 в 12:39.
MATPOC вне форума   Ответить с цитированием
Старый 23.09.2011, 10:33   #27
LordMerlin
Senior Member
 
Аватар для LordMerlin
 
Регистрация: 11.12.2009
Адрес: Russia
Сообщений: 2,184
По умолчанию

Офигенский плагин.
А он не может парсить страницы?
Например чтобы брать инфо по каналу например с http://tv.yandex.ru/ ну или еще откуда нибуть?

P.S. И уже в качестве бреда. А не может он случаем парсить и сайты с разным онлайн контентом. Чтобы те кто не умеют плагины писать но немного разбирающиеся в регэкспах сами писали правила для нужных им сайтов. По типу как это сделано в Медиапорталовском плагине OnlineVideo.
__________________
Dune HD TV-102/Pioneer VSX-520-K/Samsung ES6727

ВИКИ Настройка DSPlayer: http://xbmc.ru/wiki/index.php?title=Настройка_DSPlayer
DSPlayer поддержка ускорения GPU: http://xbmc.ru/forum/showthread.php?t=12
XBMC+SVP: http://habrahabr.ru/post/181598/
Крипто-робот, бонус за регистрацию, оплата за результат: https://apitrade.pro/bonus_xbmcru.htm
LordMerlin вне форума   Ответить с цитированием
Старый 23.09.2011, 12:56   #28
MATPOC
Senior Member
 
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
По умолчанию

Цитата:
Сообщение от LordMerlin Посмотреть сообщение
Офигенский плагин.
А он не может парсить страницы?
Например чтобы брать инфо по каналу например с http://tv.yandex.ru/ ну или еще откуда нибуть?
Navi-X умеет вызывать скрипты и плагины XBMC. В документации Playlist editor: The Basics (требуется простая регистрация, которая даёт доступ и к расширенным плейлистам):

Цитата:
script - URL of an XBMC script, zipped.

plugin - URL of an XBMC plugin. If you select this type, you must also select a sub-type: music, news, pictures, programs, or video.
Так что в любом случае придётся писать либо питоновские скрипты XBMC, либо скрипты на своём http сервере.

Цитата:
Сообщение от LordMerlin Посмотреть сообщение
P.S. И уже в качестве бреда. А не может он случаем парсить и сайты с разным онлайн контентом. Чтобы те кто не умеют плагины писать но немного разбирающиеся в регэкспах сами писали правила для нужных им сайтов. По типу как это сделано в Медиапорталовском плагине OnlineVideo.
Да, в Navi-X есть скриптовый язык “NIPL script” для разбора страниц, содержащих ссылки на медиа. Но это позволит быстро писать плейлисты для тех ресурсов, на которых уже есть ссылка на видео. А вот как разбирать каталоги, искать и пр. сервис - надо писать скрипты.
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912

Последний раз редактировалось MATPOC; 24.09.2011 в 17:41.
MATPOC вне форума   Ответить с цитированием
Старый 13.10.2011, 00:51   #29
severyan
Senior Member
 
Аватар для severyan
 
Регистрация: 12.06.2011
Адрес: Украина, донецк
Сообщений: 264
По умолчанию

простите конечно за тупой вопрос но, для чего вообще нужен этот Navi-X ?
кроме кучи забугорного контента ничего не увидел...
severyan вне форума   Ответить с цитированием
Старый 13.10.2011, 21:10   #30
MATPOC
Senior Member
 
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
По умолчанию

Цитата:
Сообщение от severyan Посмотреть сообщение
простите конечно за тупой вопрос но, для чего вообще нужен этот Navi-X ?
кроме кучи забугорного контента ничего не увидел...
Как я уже писал выше, Navi-X не проверяет getmimetype всех пунктов при открытии плейлиста. То есть xbmc не тормозит при открытии плейлиста. Скрипт для конвертирования плейлиста m3u в формат Navi-X приведён выше. Кстати, я его модифицировал для того, чтобы интернетовские плейлисты можно было использовать (http|rtsp|mms). Новая версия в прикреплении.

Код:
#!/usr/bin/perl -w

sub out_navix;

while (defined($line = <>) ) {
    if ($line =~ /#EXTINF:.*,\s*(.*)(\s*)/) {
	$channel_name = $1;
	$channel_name =~ s/\r+//;

        if (defined($line = <>)) {
	    if ($line =~ '(udp|rtp)://@?(\d+\.\d+\.\d+\.\d+):(\d+)') {
		$mproto = $1; $mgroup = $2; $mport = $3;
		$murl = $line;
	    } elsif ($line =~ '(http|rtsp|rtmp|mms)://(.+)\s*') {
		$mproto = $1;
		$murl = $line;
	    }
	}
	out_navix;
    }
}

sub out_navix
{
	print "type=video\n";
	print "name=$channel_name\n";
	print "URL=$murl";
	print "#\n";
}
Вложения
Тип файла: zip m3u2navi-x.zip (447 байт, 488 просмотров)
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912

Последний раз редактировалось MATPOC; 13.11.2011 в 22:25.
MATPOC вне форума   Ответить с цитированием
Ответ

Метки
epg, iptv
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 07:46. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.