[dev] CetonTV+HDHomeRun - Watch TV on XBMC (WIN/OSX)

  Thread Rating:
  • 9 Votes - 4.22 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
europorsche914 Offline
Member
Posts: 88
Joined: Jan 2012
Reputation: 0
Post: #31
hey mcheng I realize you got a lot on your plate but I noticed an issue in the xbmc plugin, when changing from an sd channel to an hd channel or for that matter any channel that did not have the same resolution as the previous channel, what occurs is that the video will be improperly scaled and be totally unwatchable. I think the issue apparently comes down to vlc not being able to handle a stream that changes resolution mid-stream. I have a work around but it is a crude one, it is 2 lines of code that tell the plugin to stop playing if it is playing before changing the channel and then start playing again, The drawback is it shows the program menu in between every channel change but it works perfectly otherwise. Below is the code I used in bold its should go on line 330 of the Overlay.py, maybe youll have an idea to make it work a little nicer lol.


Code:
...
        if startup:
            #sock.send(chr(1)+chr(1)+chr(1)+chr((channel&4278190080)>>24)+chr((channel&16711680)>>16)+chr((channel&65280)>>8)+chr(channel&255))
            url = url + "&require=false"
        #else:
            #sock.send(chr(1)+chr(1)+chr(2)+chr((channel&4278190080)>>24)+chr((channel&16711680)>>16)+chr((channel&65280)>>8)+chr(channel&255))
        channel = ""
[b]        if self.Player.isPlaying():
            self.Player.stop()[/b]

        try:
            req = urllib2.urlopen(url)
            #data = sock.recv(6)
            #channel = ord(data[2])<<24|ord(data[3])<<16|ord(data[4])<<8|ord(data[5])
            while True:
...
(This post was last modified: 2012-02-15 18:53 by europorsche914.)
find quote
europorsche914 Offline
Member
Posts: 88
Joined: Jan 2012
Reputation: 0
Post: #32
Found some issues running the plugin in a fresh install of ubuntu 11.10 and xbmc dharma..

The first error prevented the script from running at all and involved adding some code to Overlay.py (and removing json from the import line located below my code). When importing json library we need to add compatibility to different versions of Python by using this code (in bold)

Code:
...
import xbmc, xbmcgui, xbmcaddon
import time, threading[b]
try: import simplejson as json
except ImportError: import json[/b]
import urllib2, csv, os.path
...

The second issue is that the epg locks up completely and doesnt allow any keyboard input causing me to force quit xbmc... error log says there is an attribute error on line 408 of EPGWindow.py

Im gonna continue looking into issue 2 to see if I can solve it.


EDIT:
These errors in this post seem to be only occuring on Dharma on now both windows and ubuntu but on my other windows box running eden does not have these issues...
(This post was last modified: 2012-02-07 02:38 by europorsche914.)
find quote
mcheng89 Offline
Fan
Posts: 408
Joined: Jan 2012
Reputation: 4
Post: #33
europorsche914 Wrote:Found some issues running the plugin in a fresh install of ubuntu 11.10 and xbmc dharma..

The first error prevented the script from running at all and involved adding some code to Overlay.py (and removing json from the import line located below my code). When importing json library we need to add compatibility to different versions of Python by using this code (in bold)

Code:
...
import xbmc, xbmcgui, xbmcaddon
import time, threading[b]
try: import simplejson as json
except ImportError: import json[/b]
import urllib2, csv, os.path
...

The second issue is that the epg locks up completely and doesnt allow any keyboard input causing me to force quit xbmc... error log says there is an attribute error on line 408 of EPGWindow.py

Im gonna continue looking into issue 2 to see if I can solve it.


EDIT:
These errors in this post seem to be only occuring on Dharma on now both windows and ubuntu but on my other windows box running eden does not have these issues...

I actually didnt know much about python before starting the plugin. I leaned most of what I know after going through most of the original PseudoTV plugin, so I appreciate the help. Smile Ill put in your changes for the next release.

As for progress, I got stuck a bit with a crash in the program, but it looks like it was related to the upnp library terminating threads if I use their stop function. That should be fixed now...
find quote
europorsche914 Offline
Member
Posts: 88
Joined: Jan 2012
Reputation: 0
Post: #34
Yea I have primarily a c++ background and basically no python but after going through your code and some research thats what I realized would be a quick solution to make it work.

The self.player.stop() method works in eden (during channel changes it still shows the main menu when going directly to the channel but when selecting by the epg it shows a black screen)

I just upgraded my ubuntu xbmc to eden beta 2 and no longer is the import simplejson as json method needed but doesnt hurt to have that simple library check. Also the nonresponsive epg issue is resolved in eden beta 2. Not sure what the issue is other than some researching determined it maybe an issue with python itself.

As for the upnp ceton control program crashing, I do have it crash everyonce in a rare while but could be caused by the ceton being unresponsive sometimes (ex: cannot find program XXXX but if you retune the channel via the ceton webpage it then finds it..) Thanks for your hard work Ill keep looking for solutions to issues as I come across them! -Justin


EDIT: Hey would you be interested in creating a free github repo so we can have a way to track changes/record problems? If you want me to set one up let me know!
(This post was last modified: 2012-02-07 04:26 by europorsche914.)
find quote
mcheng89 Offline
Fan
Posts: 408
Joined: Jan 2012
Reputation: 4
Post: #35
europorsche914 Wrote:Yea I have primarily a c++ background and basically no python but after going through your code and some research thats what I realized would be a quick solution to make it work.

The self.player.stop() method works in eden (during channel changes it still shows the main menu when going directly to the channel but when selecting by the epg it shows a black screen)

I just upgraded my ubuntu xbmc to eden beta 2 and no longer is the import simplejson as json method needed but doesnt hurt to have that simple library check. Also the nonresponsive epg issue is resolved in eden beta 2. Not sure what the issue is other than some researching determined it maybe an issue with python itself.

As for the upnp ceton control program crashing, I do have it crash everyonce in a rare while but could be caused by the ceton being unresponsive sometimes (ex: cannot find program XXXX but if you retune the channel via the ceton webpage it then finds it..) Thanks for your hard work Ill keep looking for solutions to issues as I come across them! -Justin


EDIT: Hey would you be interested in creating a free github repo so we can have a way to track changes/record problems? If you want me to set one up let me know!

I just set one up: https://github.com/CetonTV

EDIT: EPG parsing is done Smile
(This post was last modified: 2012-02-08 06:21 by mcheng89.)
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #36
initial testing does work with the USB version of the Ceton tuner.
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #37
So I get an error contacting server in xbmc. I can issue commands through the web interface and it works fine. It does launch windows media player instead of Vic to play the stream when doing http commands. Can't get it going in xbmc though
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #38
I have the following in the cetontv settings in xbmc
127.0.0.1 for ip
8555 for control port

Is that right. It matches the config file
find quote
mcheng89 Offline
Fan
Posts: 408
Joined: Jan 2012
Reputation: 4
Post: #39
Killervette Wrote:I have the following in the cetontv settings in xbmc
127.0.0.1 for ip
8555 for control port

Is that right. It matches the config file

Are you running xbmc on the same computer running the server?
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #40
mcheng89 Wrote:Are you running xbmc on the same computer running the server?

Yes.

I can play the stream in vlc just fine. I just can't get it to show in xbmc
find quote
mcheng89 Offline
Fan
Posts: 408
Joined: Jan 2012
Reputation: 4
Post: #41
Killervette Wrote:Yes.

I can play the stream in vlc just fine. I just can't get it to show in xbmc

Can you rerun the program and send me this file?
%appdata%\XBMC\xbmc.log

(hit the windows + r button and paste %appdata%\XBMC)
PM me the whole log, or copy and paste the lines that mention the word ERROR

EDIT: Actually, it could be related to the issue europorsche914 was talking about...
Can you try using the beta version of XBMC? I'll put in europorsche914's changes in the next version
(This post was last modified: 2012-02-09 06:07 by mcheng89.)
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #42
mcheng89 Wrote:Can you rerun the program and send me this file?
%appdata%\XBMC\xbmc.log

(hit the windows + r button and paste %appdata%\XBMC)
PM me the whole log, or copy and paste the lines that mention the word ERROR

EDIT: Actually, it could be related to the issue europorsche914 was talking about...
Can you try using the beta version of XBMC? I'll put in europorsche914's changes in the next version

I am using eden beta 2. I will try to get the logs together this weekend.
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #43
here is the log section


16:49:09 T:1744 ERROR: C:\Users\Adam\AppData\Roaming\XBMC\addons\script.cetontv\resources\lib\Overlay.p​y:42: DeprecationWarning: object.__init__() takes no parameters
xbmcgui.WindowXMLDialog.__init__(self, *args, **kwargs)
16:49:09 T:1744 ERROR: C:\Users\Adam\AppData\Roaming\XBMC\addons\script.cetontv\resources\lib\Overlay.p​y:32: DeprecationWarning: object.__init__() takes no parameters
xbmc.Player.__init__(self, xbmc.PLAYER_CORE_AUTO)
16:49:19 T:1744 FATAL: script.cetontv-TVOverlay: FATAL ERROR: Error connecting to server. Please make sure that remoteCeton is running.
16:49:21 T:1744 ERROR: script.cetontv-Active Thread: MainThread
find quote
Killervette Offline
Junior Member
Posts: 19
Joined: Feb 2012
Reputation: 0
Post: #44
and this is from the command prompt

Server: Client requested stream url for Tuner[1]
Tuner[1]: Changing channel to 1
Tuner[1]: Program number is 15
Tuner[1]: Channel name is OND
Tuner[1]: rtsp://192.168.42.165:8554/cetonmpeg0
Tuner[1]: Starting video stream
VLC[1]: Starting VLC instance with remoteVLC plugin
VLC[1]: Streaming to http://localhost:8556
VLC[1]: Setting channel program id using remoteVLC
VLC[1]: Could not set channel in 5 seconds
VLC[1]: Closing VLC instance
Tuner[1]: Stopping video stream

and this is my config

#IP address of ceton tuner
CETON_IP=192.168.42.165
#CETON_TUNER is set as a comma seperated value list.
#Valid values for list: 1,2,3,4
CETON_TUNER=1,2,3
SERVER_CONTROL_PORT=8555
VLC_PROCESS=C:\Program Files (x86)\VideoLAN\VLC\vlc.exe
#VLC PORTS are for the first tuner.
#For each port besides the first, the port = tuner 1 port + the tuner number - 1.
#Example: If VLC_REMOTE_PORT is 2386 for tuner 1, tuner 2 is 2387, etc.
VLC_REMOTE_PORT=2386
VLC_STREAM_PORT=8556


is it the space in program files x86
(This post was last modified: 2012-02-10 02:20 by Killervette.)
find quote
LehighBri Offline
Fan
Posts: 315
Joined: Jan 2009
Reputation: 0
Post: #45
Are there any special steps to get this installed on the ATV2? I ftp'd the script.cetontv folder to my ATV2's addons folder but it's not showing up in the Programs area when I restart XBMC.

UPDATE: I was able to install this on my ATV2 by copying the script.cetontv folder to my ATV2's addons folder (not the addon_data folder). I then configure it and launch the program through XBMC but get a blank white screen. Any thoughts on that?
(This post was last modified: 2012-02-10 05:04 by LehighBri.)
find quote
Post Reply