View Full Version : MyTheatre DVB streaming?
i have looked a little, but im curious of anyone has had mytheatre 3.2 streaming to xbmc? i can get the xns stream going to xbmp but it pixelates like crazy (not a bandwidth issue). i have done some reading, and it seems as though most people don't have problems with streaming to xbmc.
however, most seem to use xns, last i heard xns support was discontinued (i can browse folders, but i can't stream anything with it) in xbmc.
what it seems most people do is use some mytheatre python scripts. if anyone has these, could you please post them? or send me a link on where to find them.
i just need some help streaming my free-to-air dvb to my xbox.
this is an interesting subject - i have this working, however there are things that can catch you out.
1. mytheatre v3.12 needs to work with avbroadcaster 0.12. the latest version of avbroadcaster is 0.12. mytheatre is currently at 3.20.02 however any version above v3.12 breaks avbroadcaster and causes the pixilation problem.
2. mytheatre v3.20.02 has a broadcast server built in - however no channel change etc. the broadcast server only works with certain cards - no support for nexus-s and a few others. twinhan works fine. (dvb-s) only
3. there is a mytheatre python plug-in for xbmc in the download section. the plug-in controls broadcast and channel change. you must ensure the favorites are configured in mytheatre and the stations are clearly marked for tv.
4. ensure you are running at least v1.1 of xbmc. also try decreasing the cache size (xbmc settings) to remove pixilation issues, however this depends on connection speed between mytheatre and xbmc – if you decrease too much then you will get a couple of seconds of video and then stop.
if there is interest in this subject then i will write a guide. i am not the creator of any of the tools – however i have spent many days on trying different things, and can tell what works etc.
i have also tried progdvb with the new olaf video server - not working because of lack of scripts for xbmc. should not be that hard to create scripts – however we need the stream layout etc / channel commands etc.
it would be great if sribitus (wrote avbroadcaster) & saar (wrote mytheatre) fix avbroadcaster, however this has been going for months and it has not been fixed yet.
tsreader will work; however there are card limitations as well.
i hope this helps, for more information checkout dvbcore message forums
movcpm
thanks for the help. i got it all working, even with mytheatre 3.20.02 (on a handful of channels). the issue with 3.20.02, for me, was that it would stream for about 10 seconds then stop (as if the buffer was getting overflowed or something).
however, as you suggested, i tried 3.12 and xbmc 1.1 and it works perfectly.
thanks for the help, again.
Chenewer
2004-12-10, 04:53
if there is interest in this subject then i will write a guide. i am not the creator of any of the tools – however i have spent many days on trying different things, and can tell what works etc.
yes please. it would be nice with a guide.
i'm using mytheatre 3.20.02 now so i gues i have to go back to 3.12 to get this to work.
could you please make a guide for us, we would all highly appreciate it verry much!!!! :help:
tia :bowdown:
mytheatre is currently at 3.20.02 however any version above v3.12 breaks avbroadcaster and causes the pixilation problem.
strange, for me 3.20.02 is working well. maybe it depends on the type of sat card. i am using a skystar2.
strange, for me 3.20.02 is working well. maybe it depends on the type of sat card. i am using a skystar2.
i also have a skystar2 and can't use versions newer than 3.12 because of the pixelation problem :(
a600, have you tried turning off the video display on mytheatre? i found that for certain channels i got the pixelation problem and stuttering output on the xbox if the video is left turned on. this problem occurs if the cpu utilization is reaching 100%; turning off the video reduces the load.
i always turn off video display when streaming to the xbox.
phishstik
2004-12-13, 02:37
we need a guide for sure.
when the few of us out there on the dvbn forums started doing this back in avbroadcaster 7 or 8, all we had to do was enable xns, set the xns settings in xbmp or xbmc and it worked.
now all we hear are arguments over what is screwing up the stream,
"mt3.20 wont work" " setup python scripts" " use version *** of **** with version **** of ******"
i know we're not paying for this stuff, cept mt, but this is ridiculous. to go from 3 programs, running fine, mt, av, xbmc, to now, having to setup other programs, vlc, or editing python scripts.
i think the problem started when people wanted "whined" for remote channel changes, and with xbmc changes.
a guide would be great, these groups getting together and fixing their shit up would be even better.
we need a guide for sure.
when the few of us out there on the dvbn forums started doing this back in avbroadcaster 7 or 8, all we had to do was enable xns, set the xns settings in xbmp or xbmc and it worked.
now all we hear are arguments over what is screwing up the stream,
"mt3.20 wont work" " setup python scripts" " use version *** of **** with version **** of ******"
i know we're not paying for this stuff, cept mt, but this is ridiculous. to go from 3 programs, running fine, mt, av, xbmc, to now, having to setup other programs, vlc, or editing python scripts.
i think the problem started when people wanted "whined" for remote channel changes, and with xbmc changes.
a guide would be great, these groups getting together and fixing their shit up would be even better.
the problems basically all exist with mytheatre and avbroadcaster. xbmc works fine.
phishstik
2004-12-22, 14:22
problem looks to me like it started with xbmc changes, look:
"guess relax and xbmc don't work well together anymore (because they radically changed the way they use xns).. i'm working on a total rebuild of relax."
from : relax homepage (http://www.raforce.nl/pagegen.php)
xns and relax don't work with me at all, but i'm using mytheatre with avbroadcaster and they work fine.
mytheatre 3.20.02
avbroadcaster .12
xbmc 1.1
twinhan 1030
broadcast through http
i've noted now that i loose the view after few minutes. anyone knows why?
thx
phishstik
2005-01-06, 00:11
for the love of god someone write a freakin guide
Th3_H0unD
2005-01-18, 15:52
has anyone tried the mytheatre.py script ? i"ve got mytheatre 3.20 and avbroadcast 0.12 and xbmc 1.1 and well the favorites i see are not what i have. any ideas ? what's this remote view option in mytheatre and how do i use it ?
th3_h0und
spidertnt
2005-02-07, 04:54
this is just copied from a readme text file.
my setup is is allmost the same except i have a twinhan 1020a. i must say this works very well and picture quality of the stream is great.
mytheatre control script by marplar
script enables channel change of mytheatre favourite channels
version 1.0 06-june-04
initial release
version 2.0 06-dec-04
fixed: impossible to exit script on xbox if mytheatre exits on pc
fixed: favourite group name not displayed properly if it contains a space (actually an avbroadcaster bug)
fixed: it was possible to select a favourite group whilst channel list being retrieved
added: epg guide
added: channel change delay - this is to address problems reported by some people where mytheatre channel changes on pc but is not displayed on xbox
tested with
xbmc 2004-11-15 cvs
skystar2
mytheatre 3.20.02
avbroadcaster 0.12
epg server written using python 2.3 and distributed using py2exe
**pc setup**
1. ensure favourite channels are set up in mytheatre. only favourites are available to view in xbmc
2. configure mytheatre avbroadcaster to stream http to the xbox
network settings - enter ip address of xbox
set http port (default 8000)
network protocol - http/rtsp on, xns off
epg server setup
3. place the xbmcepg directory into you mytheatre directory (normally c:\program files\mytheatre). this will leave xbmcepg as a new subdirectory (normally c:\program files\mytheatre\xbmcepg).
4. run the program mytheatreepgserv.exe
5. if it is working a message 'mytheatre server active' will appear
6. if using winxp firewall open tcp ports for avb and epg (defaults 8000 and 8001)
notes:
-epg is optional.
-mytheatreepgserv.exe must be running for the epg to work.
-epg uses port 8001 by default. if you want to use a different port then pass it as a parameter to the program:
e.g. mytheatreepgserv.exe 8001
-if you want to install xbmcepg in a different location then pass the path to mytheatre as a second parameter
e.g. mytheatreepgserv.exe 8001 "c:\program files\mytheatre"
**xbox setup**
1. ensure you can receive http broadcast in xbmc by following the instructions here:
http://www.xboxmediaplayer.de/cgi-bin....;t=3945 (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=8;t=3945)
2. edit the start of mytheatre.py for the ip and port of the computer running mytheatre.
servip = ip of the computer running mytheatre
e.g. servip = '192.168.0.1'
avbservport = http set in avbroadcaster (default=8000)
e.g. avbservport = 8000
epgservport = port for python epg server, if in use (default=8001)
e.g. epgservport = 8001
changedelay = delay for channel change in seconds (default=4, max = 18)
e.g. changedelay=4
this causes a delay between changing channels. if you experience problems viewing tv immediately after channel changes try increasing this value.
example settings:
################################################## ##########
#set ip address of pc running mytheatre
servip = '192.168.0.1'
#
#set port for avbroadcaster http
avbservport = 8000
#
#set port for python epg server
epgservport = 8001
#
#set delay for channel change in seconds (default = 4, max = 18)
changedelay=4
################################################## ##########
3. put mytheatre.py in xbmc scripts directory and run it.
4. on running script you should see the mytheatre favourites groups. use remote 'select' or controller 'a' to enter channel listing or to watch tv channel. when watching tv channels use remote 'display' or controller 'x' to toggle between channel list and tv. use remote 'menu' or controller 'back' to return to the favourites groups list or to exit.
5. use remote 'info' button or controller white button whilst highlighting a channel name to see the epg. use remote 'select' or controller 'a' whilst highlighting epg items to see more detail.
notes
-epg is optional (you can change channels and watch tv without it)
known bugs:
radio channels do not work due to limitation in avbroadcaster
hello!
hmmm, ive been doing some research on this cuz i was planning on getting an analog-tvturnercard and stream it from my server to my xboxes/xbmc's but after just looking for a few minutes i find out that it seems that the setup with mytheatre etc only works with dvb-tvturnercards?!
please correct me if i have missread this. i cant wait to get my new digitalvcr up and running.
appreciate all the response!
thanks,
beef
how about dvb-t support?
yes?
well, how about support for the nova-t drivers (or even better) technotrend's bda drivers...
somehow i think i'm asking too much....
but if you don't ask....
anyone here able to send me the latest xbmc mytheatre script by marplar? since the website downtime make it impossible to download it from there... you could either pm me with a download link, or pm me to request my email address so you can attach it.. or just drop off an alternate download location here.. either way, thanks ;))
anyone here able to send me the latest xbmc mytheatre script by marplar? since the website downtime make it impossible to download it from there... you could either pm me with a download link, or pm me to request my email address so you can attach it.. or just drop off an alternate download location here.. either way, thanks ;))
can someone send me one too?
thanks
i live in japan an already have satellite tv (i pay a subscription) does this mean that this would be useless for me? i'd love to watch on my xbox, but i can't see it working with the decoder card thing.
Th3_H0unD
2005-03-02, 02:40
well my setup is like spidertnt and i have it working fine. i'd like to see a change the mytheatre.py script so that it is more like a guide or if that is not possible at least the channel description. ie like the epg information on the screen everytime you scroll through your channel listings.
a full guide like sat's have would be perfect. anyone have some ideas ?
Th3_H0unD
2005-03-03, 02:34
i was playing with the script a little this evening and i've gotten a somewhere i think anyways.
i added in the def onaction(self, action):
if action == action_move_up or action == action_move_down:
#display epg
if self.epglistvisible == false:
self.txtprogdesc.setvisible(false)
self.epglist.setvisible(true)
self.epglistvisible = true
if self.listings[1][0] == 'channel':
listingspos = self.list.getselectedposition()+1
#clear list
self.epglist.reset()
#get listings
self.displayepg(self.listings[listingspos][2][17:])
self.strepgtitle.setlabel(self.listings[listingspos][1][3:])
if len(self.epglistings) > 0:
self.setfocus(self.list)
else:
self.epglist.additem('no guide information')
self.setfocus(self.ist)
that will display what is playing on that specific channel. now if you scroll up and down a few times you will see that they channel info on the right does not change i haven't figured that out yet any help would be great. i'd like to change it even more i'm open to ideas ! anyone ?
i was playing with the script a little this evening and i've gotten a somewhere i think anyways.
i added in the def onaction(self, action):
if action == action_move_up or action == action_move_down:
#display epg
if self.epglistvisible == false:
self.txtprogdesc.setvisible(false)
self.epglist.setvisible(true)
self.epglistvisible = true
if self.listings[1][0] == 'channel':
listingspos = self.list.getselectedposition()+1
#clear list
self.epglist.reset()
#get listings
self.displayepg(self.listings[listingspos][2][17:])
self.strepgtitle.setlabel(self.listings[listingspos][1][3:])
if len(self.epglistings) > 0:
self.setfocus(self.list)
else:
self.epglist.additem('no guide information')
self.setfocus(self.ist)
that will display what is playing on that specific channel. now if you scroll up and down a few times you will see that they channel info on the right does not change i haven't figured that out yet any help would be great. i'd like to change it even more i'm open to ideas ! anyone ?
can someone tell me where to download these file?
thanks
HiGhLaNdeR
2005-03-05, 12:05
hey guys, can someone email me the script and the epgserver ? highlanderatteknoragedotcom
thanks
it seems that dwl.xboxmediacenter.de had not been restored...
may someone publish the script somewhere?
spidertnt
2005-03-05, 16:08
#mytheatre python client for xbmc
#version 2.0 by marplar 11-dec-2004
################################################## ##########
#set ip address of pc running mytheatre
servip = '192.168.123.100'
#
#set port for avbroadcaster http
avbservport = 8000
#
#set port for python epg server
epgservport = 8001
#
#set delay for channel change in seconds (default = 4, max = 18)
changedelay=4
################################################## ##########
import urllib, time, xbmc, xbmcgui, xml.parsers.expat, string, thread
from socket import *
from htmlparser import htmlparser
try: emulating = xbmcgui.emulating
except: emulating = false
#get actioncodes from keymap.xml
action_previous_menu = 10
action_select_item = 7
action_show_file_info = 11
action_popup_context=117
#reads avbroadcaster web page and creates list of favorite groups or channels
class myparser(htmlparser):
#read tag
def handle_starttag(self, tag, attrs):
#create dictionary of tag attributes
attrdict=dict(attrs)
if tag == 'html':
#initialse list
self.parselist = []
self.chtype = ''
elif tag == 'a':
#hyperlink tag - get link
self.href=attrdict['href']
elif tag == 'td' and len(attrdict) == 2 and self.tag == 'tr':
#table tag - check colour to determine if encrypted
if attrdict['bgcolor'] == '#00bf00':
self.encrypt = ' '
else:
self.encrypt = '!'
#store tag type
self.tag=tag
#read data (outside tag)
def handle_data(self,data):
if self.tag == 'title':
#add title to list
self.parselist.append(['title', data])
#store title to determine if page is favorite group list or channels
self.title = data
elif self.tag == 'center':
#get channel type (v/r) and add to encrypted flag (!/ )
self.chtype=data + self.encrypt + ' '
elif self.tag == 'a':
#hyperlink data
if self.href[:16] == '/list.htm?favid=':
#link is for favorite lists
if data[:9] == 'next page' and len(self.parselist) > 10:
#add next page link to list
self.parselist.append(['nextpage', data, self.href])
elif self.title == 'favorite groups list':
# add favorite group name and link to list
self.parselist.append(['favlist', data, self.href])
elif self.href[:17] == '/set_ch.htm?chid=':
#link is for channel
self.parselist.append(['channel', self.chtype + data,self.href])
def close(self):
#return list to caller
return self.parselist
self.close()
#reads mytheatre epg data
class listingsxmlparser:
def getprograms(self, chid):
#set up parser
p = xml.parsers.expat.parsercreate('utf-8')
p.startelementhandler = self.start_element
p.endelementhandler = self.end_element
p.characterdatahandler = self.char_data
#get epg data
sockobj = socket(af_inet, sock_stream)
try:
sockobj.connect((servip, epgservport))
sockobj.send('/?chid=' + chid)
data = sockobj.recv(200000)
sockobj.close()
p.parse(data)
except:
self.parselist = []
self.parselist.append(['','','','','error connecting to epg server', '',''])
return self.parselist
def start_element(self, name, attrs):
if name == 'xml':
#initialse list
self.parselist = []
elif name == 'program':
#new program
self.language=''
self.startdate=''
self.starttime=''
self.endtime=''
self.eventname=''
self.shortdescr=''
self.extdescr=''
#store name
self.name=name
def end_element(self, name):
if name =='program':
#add data to list if not in past
if float(self.endtime)>time.time():
self.startdate=time.strftime('%d %b',time.localtime(float(self.starttime)))
self.starttime=time.strftime('%h:%m',time.localtim e(float(self.starttime)))
self.endtime=time.strftime('%h:%m',time.localtime( float(self.endtime)))
self.parselist.append([self.language,self.startdate,self.starttime,self.e ndtime,self
.eventname,self.shortdescr,self.extdescr])
#clear name
self.name = ''
def char_data(self, data):
#store attributes
if self.name == 'language':
self.language=data
elif self.name == 'starttime':
self.starttime=data
elif self.name == 'endtime':
self.endtime=data
elif self.name == 'eventname':
self.eventname=data
elif self.name == 'shortdescr':
self.shortdescr=data
elif self.name == 'extdescr':
self.extdescr=data
class myclass(xbmcgui.window):
def (self):
if emulating: xbmcgui.window.(self)
#set default mode
self.tvradiomode = 'tv only'
self.encryptmode = 'all channels'
#set up screen
self.addcontrol(xbmcgui.controlimage(0,0,800,600, 'background.png'))
self.addcontrol(xbmcgui.controllabel(50, 60, 10, 80, 'my', 'font14', '0xffff2000'))
self.addcontrol(xbmcgui.controllabel(75, 60, 100, 80, 'theatre', 'font14', '0xff000000'))
self.buttvradio = xbmcgui.controlbutton(300, 60, 120, 35, self.tvradiomode, 'button-focus.png', 'button-nofocus.png')
self.addcontrol(self.buttvradio)
self.butencrypt = xbmcgui.controlbutton(500, 60, 120, 35, self.encryptmode, 'button-focus.png', 'button-nofocus.png')
self.addcontrol(self.butencrypt)
self.strtitle = xbmcgui.controllabel(50, 120, 200, 200, '', 'font14', '0xffa5ff00')
self.addcontrol(self.strtitle)
self.list = xbmcgui.controllist(50, 150, 250, 370)
self.addcontrol(self.list)
self.strepgtitle = xbmcgui.controllabel(350, 190, 200, 200, 'program guide', 'font14', '0xffa5ff00')
self.addcontrol(self.strepgtitle)
self.txtprogdesc = xbmcgui.controllabel(350, 220, 350, 350,'','font13','0xffa5ff00')
self.addcontrol(self.txtprogdesc)
self.txtprogdesc.setvisible(false)
self.epglistvisible=true
self.epglist = xbmcgui.controllist(350, 220, 320, 300)
self.addcontrol(self.epglist)
#set navigation
self.list.controlleft(self.buttvradio)
self.epglist.controlleft(self.list)
self.epglist.controlright(self.butencrypt)
self.butencrypt.controlleft(self.buttvradio)
self.butencrypt.controldown(self.list)
self.buttvradio.controldown(self.list)
self.buttvradio.controlright(self.butencrypt)
#initialise parsers
self.myparser=myparser()
self.epgparser=listingsxmlparser()
#get favorites group list
self.file = '/list.htm'
self.parselist(url)
self.setfocus(self.list)
#read html page
def getlist(self,url,file):
opener = urllib.fancyurlopener({})
try:
doc = opener.open(url + file)
webpage = doc.read() # read file
doc.close()
self.myparser.feed(webpage)
listings=self.myparser.close()
return listings
except:
self.message('unable to retrieve channel list')
return 'nolist'
#check if stream is being received
def testchannel(self, url):
opener = urllib.fancyurlopener({})
try:
doc = opener.open(url + '/dvbcore.mpg')
datacount = len(doc.readline())
doc.close
if datacount > 0:
return 'ok'
else:
return ' '
except:
return ' '
#display listing
def parselist(self,url):
#get listings
self.listings =self.getlist(url,self.file)
#check listing was retreived
if self.listings == 'nolist':
return
self.list.reset()
#check if list is complete
while self.listings[len(self.listings)-1][0] == 'nextpage':
nextpage = self.getlist(url, self.listings[len(self.listings)-1][2])
self.listings.pop(len(self.listings)-1) #remove nextpage from original list
nextpage.pop(0) #remove title from extended list
self.listings.extend(nextpage) #join original and extended lists
#filter channels to show tv/radio and fta/encryted
count = 0
while count < len(self.listings):
if self.listings[count][0] == 'channel':
if self.parsecheckmode(self.listings[count][1]) == 0:
self.listings.pop(count)
else:
count = count + 1
else:
count = count + 1
#populate list
for listing in self.listings:
if listing[0] == 'title':
if listing[1] == 'favorite groups list':
self.strtitle.setlabel(listing[1])
else:
self.list.additem(listing[1])
#check channel to show tv/radio and fta/encryted
def parsecheckmode(self, listing):
if self.tvradiomode == 'tv only' and listing[0:1] <> 'v':
return 0
elif self.tvradiomode == 'radio only' and listing[0:1] <> 'r':
return 0
elif self.encryptmode == 'fta only' and listing[1:2] =='!':
return 0
elif self.tvradiomode == 'tv and radio':
if listing[0:1] <> 'v' and listing[0:1] <> 'r':
return 0
else:
return 1
#display epg info
def displayepg(self,chid):
#populate new listings
self.epglistings=self.epgparser.getprograms(chid)
for listing in self.epglistings:
self.epglist.additem(listing[2] + ' ' + listing[4])
#split epg description lines
def linesplit(self,text,width):
lines = []
while len(text) > width:
cutoff1 = string.rfind(text[:width]," ")
cutoff2 = string.find(text[:width],"\n")
if cutoff2 > cutoff1:
cutoff = cutoff2
elif cutoff1 < width*4/5:
cutoff = width
else:
cutoff = cutoff1
lines.append(text[:cutoff])
text = " " + string.lstrip(text[cutoff:])
if width < 3: text = string.lstrip(text)
lines.append(text)
return lines
#handle user input
def oncontrol(self, control):
if control == self.list:
#user selected group/channel list
try:
listingspos = self.list.getselectedposition()+1
if self.listings[listingspos][0] == 'channel':
#user selected channel change
dialog = xbmcgui.dialogprogress()
dialog.create('mytheatre', 'tuning to ' + self.listings[listingspos][1][3:])
self.getlist(url, self.listings[listingspos][2])
searchpos = 0
#wait for change delay
while searchpos <= changedelay * 5 and dialog.iscanceled() == 0:
searchpos = searchpos + 5
dialog.update(searchpos)
time.sleep(1)
#wait for stream to be detected
while searchpos <= 95 and dialog.iscanceled() == 0 and self.testchannel(url) != 'ok':
searchpos = searchpos + 5
dialog.update(searchpos)
time.sleep(1)
if searchpos < 100 and dialog.iscanceled() == 0:
#play stream
dialog.close()
xbmc.player().play(url + '/dvbcore.mpg')
elif dialog.iscanceled() == 0:
#time out
dialog.close()
self.message('channel not decryptable or not broadcasting')
else:
#user cancelled
dialog.close()
else:
#user selected group list
self.file = self.listings[self.list.getselectedposition()+1][2]
self.strtitle.setlabel(self.listings[self.list.getselectedposition()+1][1])
self.parselist(url)
except:
self.message('error tuning channel.')
if control == self.epglist:
if self.epglistvisible == true:
#display extended epg info
listingspos = self.epglist.getselectedposition()
if len(self.epglistings) > 0:
self.strepgtitle.setlabel(self.epglistings[listingspos][4])
epgdata = 'start: ' + self.epglistings[listingspos][1]
epgdata = epgdata + ' ' + self.epglistings[listingspos][2]
epgdata = epgdata + ' end: ' + self.epglistings[listingspos][3] + '\n'
epgdata = epgdata + 'description: \n'
epgdesclist=self.linesplit(self.epglistings[listingspos][5] + '\n' + self.epglistings[listingspos][6], 40)
for epgdesc in epgdesclist:
epgdata = epgdata + epgdesc + '\n'
epgdata = epgdata + 'language : ' + self.epglistings[listingspos][0]
self.epglist.setvisible(false)
self.epglistvisible = false
self.txtprogdesc.setvisible(true)
self.txtprogdesc.setlabel(epgdata)
else:
#return to list
self.setfocus(self.list)
self.txtprogdesc.setvisible(false)
self.epglist.setvisible(true)
self.epglistvisible = true
self.setfocus(self.epglist)
listingspos = self.list.getselectedposition()+1
self.strepgtitle.setlabel(self.listings[listingspos][1][3:])
elif control == self.buttvradio:
#user selected tv/radio mode button - toggle button and display list
if self.tvradiomode == 'tv and radio':
self.tvradiomode = 'tv only'
elif self.tvradiomode == 'tv only':
self.tvradiomode = 'radio only'
else:
self.tvradiomode = 'tv and radio'
self.buttvradio.setlabel(self.tvradiomode)
self.parselist(url)
elif control == self.butencrypt:
#user selected encrypt mode button - toggle button and display list
if self.encryptmode == 'all channels':
self.encryptmode = 'fta only'
else:
self.encryptmode = 'all channels'
self.butencrypt.setlabel(self.encryptmode)
self.parselist(url)
def onaction(self, action):
if action == action_previous_menu:
#user selected back - show favourite groups or exit
if self.listings[1][0] == 'channel':
self.file = '/list.htm'
self.parselist(url)
self.setfocus(self.list)
else:
self.close()
if action == action_show_file_info or action == action_popup_context:
#display epg
if self.epglistvisible == false:
self.txtprogdesc.setvisible(false)
self.epglist.setvisible(true)
self.epglistvisible = true
if self.listings[1][0] == 'channel':
listingspos = self.list.getselectedposition()+1
#clear list
self.epglist.reset()
#get listings
self.displayepg(self.listings[listingspos][2][17:])
self.strepgtitle.setlabel(self.listings[listingspos][1][3:])
if len(self.epglistings) > 0:
self.setfocus(self.epglist)
else:
self.epglist.additem('no program guide')
self.setfocus(self.list)
#display message
def message(self, message):
dialog = xbmcgui.dialog()
dialog.ok(" mytheatre", message)
###############
#main
###############
url='http://' + servip + ':' + str(avbservport)
mydisplay = myclass()
mydisplay.domodal()
del mydisplay
Th3_H0unD
2005-03-05, 16:39
well it's nice too see that some people are still reading this post highlander i've sent you the script via e-mail. you need more than just the script there is the server broadcast side with it as well.
so to further this does anyone or can anyone help to better this script ?
thx for the script th3_h0und, basically works fine, though it tends to crash after switching channels around for a few times.
my first task will be to rework it so it displays in the center. on my 720p 16:9 display the mytheatre script only shows in a small area at the left top of the screen, whereas almost all other scripts show just fine (centered)...
Th3_H0unD
2005-03-05, 19:09
great post your changes or send me the modified script. cause my channel listings as well go past my screen for some reason.
now you say it crashes is it the script on the xbox or the script on your pc that crashes ?
th3_h0und
spidertnt
2005-03-05, 19:50
my first task will be to rework it so it displays in the center. on my 720p 16:9 display the mytheatre script only shows in a small area at the left top of the screen, whereas almost all other scripts show just fine (centered)...
if you figure out how to center the tv listings on 720p 0r 1080i lets us know ...thks.
looking at other scripts (such as ifilm) it is easy to figure out how to do it.. but it still is a nuisance, as the mytheatre script has all positions completely hardcoded. i'm currently kinda sick, so not really in the mood for all that... but if anyone else feels like going for it check line 113 and onwards in ifilmbrowser.py to see how it's done.
Th3_H0unD
2005-03-05, 21:35
i'll give it a try and post my results
th3_h0und
Th3_H0unD
2005-03-05, 22:47
i've tried a few things and i can't get even the basics too work example.
under
class myclass(xbmcgui.window):
def (self):
if emulating: xbmcgui.window.(self)
screenx = self.getwidth()
screeny = self.getheight()
strscreenx = str(screenx)
strscreeny = str(screeny)
is simple get the screen height and width and then store it in a string. well the script will not run. it works in a standalone script i check my declartions and i have what i need from what i can tell
import xbmc, xbmcgui
try: emulating = xbmcgui.emulating
except: emulating = false
i don't see the problem i'm search for more information on it but i'm not having much success :veryangry:
th3_h0und
can someone pls post a link for avbroadcaster?
thanks...
you can find it a the mytheater support forum.
http://www.mytheatre-support.com
register and go in the download section, plugins, avbroadcaster
cosmin_v
2005-03-16, 20:47
hi@all,
this is my first post on this forum, so go easy on me :d
i've copied the mytheatre.py script and edited it accordingly to my pc configuration, but it's not running (for a split of a second it's saying running but then-nothing)
i'm running avbroadcast 0.12 and it's running fine, i'm able to watch the stream on my xbox, but i cannot change the channels.
also i have a problem with the screen format, because regardless of the dvb stream video mode, the xbox keeps switching my wide screen tv into 4:3
10x
Th3_H0unD
2005-03-17, 02:56
the trick is too run the pc executable from the mytheatre script package and it will start avbbroadcaster on it's own that way you will be able to change the channels :)
th3_h0und
cosmin_v
2005-03-21, 18:41
anyone willing to send me the script package or to post a working link?
Th3_H0unD
2005-03-23, 05:03
i've started making some progress with modifying the mytheatre script. i've added the current time and date. this is the first visual change. i've seemed to have fixed the screen size issue (hopefully) i've also changed the way the channel description is displayed, before you needed to move over the the right and press select to get the extended program information, now all you need to do is press the "x" button on your xbox controller while you have a channel selected on the left hand side. i'm working on getting the visual aspect of things too look more like the guide from your normal receiver. this is a long process so please be patient everyone and hopefully with help this will move along.
anyone that wants a copy of the script the way it is "working" with the new changes then pm me with your e-mail address.
th3_h0und
cosmin_v
2005-03-25, 17:36
i've got the script package thanks to th3_h0und and it works like a charm; the only problem i've got is the wrong aspect ratio-somehow the xbox is tricked to think that the screen format is 4:3, but my tv is 16:9.
xbmc is switching the aspect ratio perfectly, the only problem is with this script.
any ideas?
Th3_H0unD
2005-03-25, 18:38
can you take a screen capture and send it too me so i can see what it looks like visually ?
it might be a glitch but i can't reproduce the problem so an image might help.
th3_h0und
cosmin_v
2005-03-25, 19:27
@th3_h0und,
u got mail
Th3_H0unD
2005-03-25, 19:48
ya i replied.
th3_h0und
sigh, i can't have the script working :(
i can receive the stream calling http://myip:8000/dvbcore.mpg, but when i run the script it starts but exits in a second or less...
i checked the script and found that it uses two images: button-focus.png and button-nofocus.png, but i can't find these images in my xbmc dir.... maybe that the script can't find the images and exits?
Th3_H0unD
2005-03-31, 20:19
pix: turn your debug level for logging to "0" and restart xbmc and run the script again and view the xbmc.log file and post the finds here.
th3_h0und
the error reported in the log is
file "q:\scripts\mytheatre.py", line 148
def (self): ^ syntaxerror : invalid syntax
i checked, line 148 is:
147: class myclass(xbmcgui.window):
148: def (self):
Th3_H0unD
2005-04-01, 17:59
did you edit the script on your pc before sending it to your xbox or did you change anything else? or did you edit the script after it was on the xbox?
cause that usally means that something is not formatted properly
ie tabs or spacing
th3_h0und
i found the problem!
i copied the script from this post:
http://www.xboxmediaplayer.de/cgi-bin....;t=9631 (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=22;t=9631)
the forum system removed the text (_ _ _ i n i t _ _ _ ) so the script could'nt work
Th3_H0unD
2005-04-01, 19:38
i'm glad to hear that you found and fixed the problem. :)
hope everything else works for you.
th3_h0und
clayd333
2005-04-04, 20:43
thanks hound for the script, it runs fine but i can only select about 10 channels in the category of none. i have others in my favoriets under other categoies but they are not available and when i choose those categories the script does not let me exit. thanks for your help,
d
Th3_H0unD
2005-04-05, 03:10
what are the names of these "favorites" mabe i can duplicate the problem on my end and then be able to fix the problem.
th3_h0und
clayd333
2005-04-05, 05:44
i get the following channel categories on the left hand side of the screen:
cinima
erotic
fun
music(??????)
news
none
radio
russian radio
science
tv favorites
various
along the top is rv only and all channels
if i go into any category besides none i get locked in the catefory on a blank screen with only the top icons.
in mytheater on the host pc i have only 4 channels in my favorites in the "cinima" category. i have tried other channel/category combinations but to no avail...
in the none category on the xbox i get the first 10 channels which i haven't categoiezed but cannot scroll down to see more.
thanks for the help hound!
d
Th3_H0unD
2005-04-05, 16:19
i had this problem, it sounds like you have avbroadcaster broadcasting. check to see if you have "always broadcast" set to "on" if it is turn it off. then try again.
second make sure that you have all your channels in mytheatre in a favorite group "whatever the name is"
th3_h0und
clayd333
2005-04-06, 16:05
auto brodcast is off, still no fix.. i just realized all channels are showind up as encrypted radio channels (r!) under the category of none and the favorites are not showing up even as encrypted radio, very weird..... any ideas,
tia
d
Th3_H0unD
2005-04-07, 01:19
and have you made sure that you have channels in your favorites and that mytheatreepgserv.exe is running in a dos window?
cause if the dos window opens and closes it is not working.
th3_h0und
phishstik
2005-04-26, 03:46
check the mytheatre plugins board, seanster just made a modified avbroadcaster that now shows the epg on the media player!
Th3_H0unD
2005-04-26, 15:42
i'll have to get it and try it out. i'm re pointing my dish right now.
th3_h0und
Th3_H0unD
2005-04-26, 16:12
well i tried it out... i liked the over all look it's nice. something that i was aiming for but it does not have the "extended guide information" like this script has.
so it's lacking in that aspect of it. asides from that it's very
nice. if we can combine the 2 scripts i think that we would have something that we like.
now once i get mytheatre working on this sat i'll be back to writing the script. anyone know dn & mytheatre? if so pm me.
th3_h0und
phishstik
2005-09-12, 04:05
not sure if anyones still following this thread, but started messing with this again. had problems with stream just stopping, read through seanster's site and it advises to lower the xbmc cache settings. i put the video caches and the "internet " cache down to 256kb. stream seems to hold cache steady at about 65%. hope this helps.
craig843
2005-10-16, 04:26
i finally got video streaming to xbmc from mytheatre using avbroadcaster and the mytheatres.py script. however, i'm streaming to a 65 inch hdtv at 1080i in xbmc and the channels list shows up in a small area in the upper left corner of the screen with most of the left half not even visable. i can't change channels unless i do it on the pc and reselect current channel from the script display. i feel like if i can get past this hurdle i will be good to go. could someone please point me in the right direction?
i am running the epg server and the mytheatre.py that came with it, i have also tried the other script that is supposed to have epg and information.
with the script that came with the epg server, i am able to see my favorite's list, but no channels. with the other script, i am able to view whatever is active, but no favorites and not channels listed.
has anyone been able to use these scripts with mytheatre 3.27 or above?
i have been looking all over the place for 3.20.02 but cannot find it. many thanks in advance for advice or a link to the 3.20.02 version of mytheatre.
i have already checked dvbcore and they don't have anything older than 3.27 posted, not to mention there was a copy protection change after 3.25 and i think that saar is sore about it so he won't make anything older than that available.
craig843
2005-10-18, 01:24
i disabled 1080i in the xbox setup and the script works fine now. the xbmc display doesn't look as good at 480p, but i'm able to watch sat tv with a much better picture than what i was getting feeding the video to my tv through the s-video out on my video card and i don't have to keep messing with those graphs in mytheatre. channel changing is a bit slow, but i can live with it. some of the other scripts that had stopped working are working again now that i stopped running at 1080i. :)
i have a question about the chan listings in the epg. i get everything working right now the one thing i would like to change is the channel order right now i can choose between sort by chan witch sorts the chans alphabetically, or by program which sorts it by the order of transponders. how can i get it to sort by channel number?
FarginHoler
2005-10-21, 01:14
anyone know where i can get the mytheatreepgserv plug-in from?
thanks.
how do i disable 1080i in xbmc? i could find it in avalaunch.