Jump to content

Kartina.tv + Dreambox


dbAspy

Recommended Posts

Хотел бы обсудить возможность альтернативного просмотра сервиса Kartina.TV на приставках DreamBox от Dream-multimedia (DM 8000 HD PVR, DM 800 HD PVR, DM 500 HD).

 

Есть ли такая возможность?

Какие существуют плагины и для каких имиджей?

Кто чем пользуется и кто что порекомендует?

Edited by dbAspy
Link to comment
Share on other sites

На данный момент существуют два плагина для DM 8000 HD PVR, DM 800 HD PVR и DM 500 HD.

 

Один платный и используется на имиджах Allrussian proect и других (форум поддержки w**.allrussian.info), а второй бесплатный и используется на приватном имидже для членов клуба ruDREAM (форум поддержки w**.orbitasat.com).

 

 

Edited by jooe
Link to comment
Share on other sites

Используя VLC Plugin. А подробнее: h**p://forum.vsetv.org/index.php?topic=2328.0

 

Почитал информацию по указанной ссылке, но там нет ни слова про картину, думаю это не совсем то!

 

На данный момент существуют два плагина для DM 8000 HD PVR, DM 800 HD PVR и DM 500 HD.

 

Один платный и используется на имиджах Allrussian proect и других (форум поддержки w**.allrussian.info), а второй бесплатный и используется на приватном имидже для членов клуба ruDREAM (форум поддержки w**.orbitasat.com).

 

Спасибо за инфу, посмотрел скриншоты и видео работы плагина для Allrussian proect, впринципе понятно, а вот с ruDREAM не понятно, нужно вступать в клуб, но прежде чем это делать хотел бы побольше узнать об этом.

 

Если у вас есть такая возможность не могли бы вы выложить описание возможностей плагина для ruDREAM имиджа?

Link to comment
Share on other sites

Если у вас есть такая возможность не могли бы вы выложить описание возможностей плагина для ruDREAM имиджа?

 

 

Вот список основных функций и возможностей плугина Картина ТВ на имиджах Infinity X от ruDREAM:

 

1. Селектор каналов аналогичный селектору каналов ТВ режима, включая прогрессоры для всех каналов и информацией о текущей передаче на каждом канале

2. Дополнительная динамически меняющаяся информация о выбранном канале, включая подробное описание телепередачи (там где оно имеется)

3. Инфобар с указанием информации о текущей и последующей передачи + данные о потоке (SD/HD, 16:9)

4.Телегид для текущего канала, все передачи которые уже были показаны отмечаются более тусклым цветом и при их выборе воспроизводится передача из архива (если она записана)

5. Настройка размера буфера (чем больше буфер тем медленней переключение и стабильней работа при плохой скорости интернета)

6. Автоопределение используемой раскладки neutrino/enigma.

7. Выбор/сортировка и назначение на цветные кнопки Жанров

8. Задержка просмотра (TimeShift)

9. Выбор сервера трансляции (позволяет выбрать сервер для получение максимальной скорости канала, для помощи в принятия решения, какой сервер выбрать - воспользуйтесь тестом на этой странице http://speedtest.kartina.tv/ )

10. Архив с возможностью выбора в настройках плугина глубины архива, отображаемое в EPG от 1-14 дней.

11. Возможность перемещения по просматриваемой передаче из архива (при однократном нажатии кнопок перемоток вперед/назад и при помощи навигационной панели при длительном нажатии тех эе кнопок), а так же при помощи кнопок истории < и > возможно перемещаться по архиву между передачами.

 

 

kartinatv1.jpg

 

kartinatv3.jpg

 

screenshot2js.jpg

 

screenshot3fo.jpg

 

kartinatv4.jpg

 

screenshot0k.jpg

 

screenshot6kh.jpg

 

screenshot5e.jpg

Edited by jooe
Link to comment
Share on other sites

как у плагина от ruDREAM со скоростью переключения? и где можно про имидж ruDREAM почитать для не членов клуба?

 

 

Работу плагина Картина ТВ можно глянуть тут:

 

 

Презентация имиджа Infinity X:

 

 

Попробовать сам имидж и почитать руководство по эксплуатации можно тут (правда без доступа к аддонам и приложениям)

 

Infinity X images and manuals

 

Link to comment
Share on other sites

Как говорится "Респект и уважуха" тому кто это сделал. Интерфейс очень красивый и много функционала. Стоит задуматься о покупке...

Link to comment
Share on other sites

jooe

А для VU+SOLO ничего подобного нету?

 

 

В планах команды ruDREAM есть создание имиджей для линейки VU+.

Так что вероятнее всего скоро будет :) Ждите анонсов.

Link to comment
Share on other sites

  • 2 weeks later...
jooe

А для VU+SOLO ничего подобного нету?

 

Теперь Kartina.TV есть и на VU+SOLO & VU+DUO на имидже от команды ruDREAM http://www.rudream.me

 

Картинки и видео выкладывать не буду они аналогичные DreamBox

Edited by dbAspy
Link to comment
Share on other sites

jooe

А для VU+SOLO ничего подобного нету?

 

Теперь Kartina.TV есть и на VU+SOLO & VU+DUO на имидже от команды ruDREAM http://www.rudream.me

 

Картинки и видео выкладывать не буду они аналогичные DreamBox

 

А ссылку если не затруднит для скачивания можно?

Link to comment
Share on other sites

Плагин для дримбоксов можно приобрести на allrussian.info, цена чисто символическая, 10 евро .

Коммерсы с рудриам же как обычно со всего инета тянут что плохо лежит, вставляют в имидж и продают уже за 50 :rolleyes:

Link to comment
Share on other sites

jooe

А для VU+SOLO ничего подобного нету?

 

Теперь Kartina.TV есть и на VU+SOLO & VU+DUO на имидже от команды ruDREAM http://www.rudream.me

 

Картинки и видео выкладывать не буду они аналогичные DreamBox

 

А ссылку если не затруднит для скачивания можно?

 

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

 

Плагин для дримбоксов можно приобрести на allrussian.info, цена чисто символическая, 10 евро .

Коммерсы с рудриам же как обычно со всего инета тянут что плохо лежит, вставляют в имидж и продают уже за 50 :rolleyes:

 

Вы не правы, за 50 евро вы получаете революционный имидж Infinity X от команды ruDREAM + поддержку, а плагин ставиться БЕЗПЛАТНО!

 

Он не "стянут с интернета" и тому есть куча докозательств, Вы видимо не совсем поняли.

 

А то что появляются альтернативные варианты использующие официальные API от Картина.ТВ думаю только плюс этому ресурсу и модераторы тут не причем.

Edited by dbAspy
Link to comment
Share on other sites

революционный имидж Infinity

Я пат сталом :rolleyes: броадкомовские драйвера, интерфейсы от дмм, исходники с git .. в чем революция?

A революция в следующем: брать интересное на специализированных форумах, доступное для всех , внести изменения и делать бизнес.

Так было и с плагином для картины от allrussian, так было с интернет радио с ihad.. и много еще чего. Против фактов не попрешь.

Метод обoлвания лохов- да, по своему революционен для opensourse :rolleyes:

Link to comment
Share on other sites

A революция в следующем: брать интересное на специализированных форумах, доступное для всех , внести изменения и делать бизнес.

Так было и с плагином для картины от allrussian, так было с интернет радио с ihad.. и много еще чего. Против фактов не попрешь.

 

по вопросу плагина картины - так он написан с нуля,

если вам нужны доказательства, то спросите на allrussian у техника, он получал этот плагин для экспертизы и почитайте информацию на pristavka.de

 

P'S'

по вопросу оригинальности, вот вам цитата с уважаемого форума http://gisclub.tv :

 

Мультимедия центр

C поддержкой спутникового, кабельного и эфирного телевидения

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

 

КАЖДЫЙ ИЗ НАС ПРЕСЛЕДУЕТ ЦЕЛЬ, И ВИДИТ ТОЛЬКО ТО ЧТО ХОЧЕТ, НО ВРЕМЯ РАССУДИТ

 

@schner-media

ваша реакция на альтернативные варианты продиктована не вписывающиеся концепцией в бизнес реализации приставок для Kartina.TV?

 

Link to comment
Share on other sites

кто может писать плаги под енигму2?

главные скрипты готовы, можно делать бесплатный плаг

http://www.pristavka.de/index.php/topic,7240.0.html

 

# (c) Eugene Bond
# eugene.bond@gmail.com
#
# kartina tv XML api

import urllib2
from xml.dom import minidom
from elementtree.ElementTree import parse, tostring
from pprint import pprint
from time import time, localtime, strftime
from datetime import datetime, date, timedelta

import re
import os 


KARTINA_API = 'http://iptv.kartina.tv/api/xml/%s'


class kartina:
    
    def __init__(self, login, password):
        self.SID = None
        self.channels = []
        self.channels_ttl = 0
        self.login = login
        self.password = password
        self.servertime = 0
        self.epg_time = 0
        self.epg = []
        self.packet_name = None
        self.packet_expire = None
    
    def _request(self, cmd, params):
        
        if self.SID == None:
            if cmd != 'login':
                self._auth(self.login, self.password)
        
        url = KARTINA_API % cmd
        url = url + '?' + params
        if (self.SID != None):
            url = url + '&' + self.SID
        #log.info('Requesting %s' % url)
        
        req = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0', 'Connection': 'Close'})
        res = parse(urllib2.urlopen(req)).getroot()
        
        self._errors_check(res)
        
        return res
    
    def _auth(self, user, password):
        response = self._request('login', 'login=%s&pass=%s' % (user, password))
        
        #pprint ( tostring(response, 'UTF-8'))
        
        if response.findtext('sid'):
            self.SID = '%s=%s' % (response.findtext('sid_name'), response.findtext('sid'))
        if response.findtext('servertime'):    
            self.servertime = response.findtext('servertime')
        if response.findtext('account/packet_name'):    
            self.packet_name = response.findtext('account/packet_name')
        if response.findtext('account/packet_expire'):    
            self.packet_expire = response.findtext('account/packet_expire')

        
    
    def _errors_check(self, xml):
        
        if len(xml.findall('error')):
            print 'ERROR'
            print tostring(xml, 'UTF-8')
            self.SID = None
    
    
    def channel_list(self):
        if self.channels_ttl < time():
            xmlChannels = self._request('channel_list', '')
            self.channels = []
            #tostring(xmlChannels, 'UTF-8')
            
            for group in xmlChannels.findall('groups/item'):
                group_number = group.findtext('id')
                if not group_number:
                        group_number = ""
                group_name = group.findtext('name')
                if not group_name:
                        group_name = ""
                
                for channel in group.findall('channels/item'):
                    programm = channel.findtext('epg_progname')
                    if not programm:
                        programm = ""
                    m = re.search("[^\n]+", programm)
                    prog = ""
                    desc = ""
                    if m:
                        prog = m.group(0).strip()
                        if len(m.groups()) > 1:
                            desc = m.group(1).strip()
                    
                    epg_start = channel.findtext('epg_start')
                    if not epg_start:
                        epg_start = ""
                        
                    epg_end = channel.findtext('epg_end')
                    if not epg_end:
                        epg_end = ""                    
                        
                    self.channels.append( (
                        channel.findtext('id'),
                        channel.findtext('name'),
                        prog,
                        desc,
                        epg_start,
                        epg_end,
                        channel.findtext('is_video'),
                        channel.findtext('have_archive'),
                        channel.findtext('protected'),
                        group_number,
                        group_name,
                        programm
                    ))
            self.channels_ttl = time() + 600
        
        return self.channels
    
    def channel_url_live(self, id):
        params = 'cid=%s&protect_code=%s' % (id, self.password)
        response = self._request('get_url', params)
        url = response.findtext('url')
        url = re.search("http[^ ]*.",url).group(0).replace("\"","").strip()
    
        return url
    

    def channel_url_archive(self, id, gmt_time):
        params = 'cid=%s&gmt=%s&protect_code=%s' % (id, gmt_time, self.password)
        response = self._request('get_url', params)
        url = response.findtext('url')
        url = re.search("http[^ ]*.",url).group(0).replace("\"","").strip()
        
        return url        
        
         
    def get_epg(self, id, day):

        params = 'cid=%s&day=%s' % (id, day)
        xmlEpg = self._request('epg', params)
        #pprint ( tostring(xmlEpg, 'UTF-8'))
        #tostring(xmlEpg, 'UTF-8')
        self.epg = []
        
        if xmlEpg.findtext('servertime'):    
            self.servertime = xmlEpg.findtext('servertime')
            
        for epg in xmlEpg.findall('epg/item'):
            
            ut_start = epg.findtext('ut_start')
            if not ut_start:
                ut_start = ""
            
            epg_programm = epg.findtext('progname')
            if not epg_programm:
                epg_programm = ""
                
            m = re.search("[^\n]+", epg_programm)
            epg_prog = ""
            epg_desc = ""
            
            if m:
                epg_prog = m.group(0).strip()
                if len(m.groups()) > 1:
                    epg_desc = m.group(1).strip()
            
            self.epg.append( (
                ut_start,
                epg_prog,
                epg_desc,
                epg_programm
                
            ))

        return self.epg
        
            
    def test(self):
        if not self.servertime:
            self._auth(self.login, self.password)
        
        for channel in self.channel_list():
          #print channel
          print channel[1]
          print channel[2]
          #print channel[3]
          #print channel[11].encode('utf-8')
          #print ""
          #print channel[0];
          #print channel[1].encode('utf-8')
        
        #pprint(self.channel_url_live(6))
        
        day_minus_two = datetime.fromtimestamp(float(self.servertime)) - timedelta(days=3)
        day_minus_two = day_minus_two.strftime("%d%m%y")


        for epg in self.get_epg(7,day_minus_two):
            print epg[1]
            print epg[2]  
            #print epg[3]
            print ""


        
        #today = strftime("%d%m%y",todaytime)
        #pprint(self.servertime)
        #pprint(today)


if __name__ == '__main__':
    foo = kartina('147', '741')
    foo.test()
    
#test = u'\u041f\u0435\u0440\u0432\u044b\u0439 \u041d\u0430 \u043d\u043e\u0447\u044c \u0433\u043b\u044f\u0434\u044f'
#print test.encode('utf-8')       
#print strftime("%d%m%y", gmtime())

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...