HDSurfer Plug-in for HDHomeRun

Please please please make a windows version. With cherries on top

Sent from my Nexus 7 using Tapatalk

Is anyone using beta firmware on the HDHR?  Since upgrading mine to version 20131212beta1 I can no longer change the channel from HDSurfer (the first tuning works).  Prior to that upgrade I was using the last stable release version 20130328 and HDSurfer worked.  It points to the HDHR firmware as the issue, just wondering if anyone else has similar experiences?

FYI...the HDHR can not be downgraded so if you haven't already tried to upgrade I recommend that you not try.

FYI...the HDHR can not be downgraded so if you haven't already tried to upgrade I recommend that you not try.

I was able to 'downgrade' from 20131205beta1 to 20130328 but it was hairy. Very long delay in the process. Thought I bricked the unit but all was well in the end. Good recommendation to tread carefully with beta firmware - something I will definitely never try again.

First post ! Just had to say that I'm eagerly following progress on this. Thanks for all the hard work !

OK, so I tried to link the hdhomerun framework file from EyeTV to /usr/lib/:

sudo ln -sf /Applications/EyeTV.app/Contents/Frameworks/hdhomerun.framework/Versions/A/hdhomerun /usr/lib/libhdhomerun.so

After that I could do sudo easy_install PyHdHomerun.

But, now it fails when trying to do a channel scan:

Beginning channel scan...
Scan went koo-koo!

If I run it a few times, I get an empty channels.xml and the server "starts".

What is the format of the channels.xml?

What version of EyeTV do you have? I was able to create the link to the EyeTV frame work but I kept getting errors. I seem to have the same setup as you: Plex server on a mac with apple tvs running Plex Connect. What have you done to get the HDHomeRun to work?

What version of EyeTV do you have? I was able to create the link to the EyeTV frame work but I kept getting errors. I seem to have the same setup as you: Plex server on a mac with apple tvs running Plex Connect. What have you done to get the HDHomeRun to work?

While waiting for Martin, I learned the following with my Snow Leopard set-up... EyeTV (3.5.6 (6920) for me) and VLC both have to be in the top level of the Applications folder. Install errors abound if they are located anywhere else. You HAVE to properly link the file mentioned by Martin to get PyHdHomerun to install. I can watch channels but have never gotten HDSurfer to do a proper channel scan. I used hdhomerun_config gui to get the device ID and hdhomerun_config in terminal to pull the information required for the channels.xml document.

SunnyD,

Can you provide the URL where you got the source code to build the Windows dll?  I've been digging around, but unable to find the official SiliconDust code base.

Thanks in advance.

Nevermind, for anyone else needing the source code, I found the link under Linux Downloads rather than clicking on Windows Downloads.

I have gotten HDSurferWave running on Windows.  The steps were fairly straight forward with the exception of building the libhdhomerun.dll.  If it would help, I'll look into packaging the dll with an install package to make it a simple installation.  

I'm currently stuck on getting the plugin to initiate the video stream.  The error I'm seeing is:

2014-01-07 06:04:27,002 (2b40) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:27,003 (2b40) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 17353 bytes
2014-01-07 06:04:29,849 (2c8c) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer
2014-01-07 06:04:29,855 (2c8c) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer
2014-01-07 06:04:29,865 (2c8c) :  INFO (logkit:16) - Checking to make sure the XMLRPC server is running...success!
2014-01-07 06:04:30,000 (2c8c) :  DEBUG (base:123) - Checking if com.plexapp.plugins.hdsurfer is broken
2014-01-07 06:04:30,003 (2c8c) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjgKY29tLnBsZXhhcHAucGx1Z2lucy5oZHN1cmZlcnMxMAppZGVudGlmaWVycjAK'
2014-01-07 06:04:30,030 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/46.1'
2014-01-07 06:04:30,032 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/46.1'
2014-01-07 06:04:30,039 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,039 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,043 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.2'
2014-01-07 06:04:30,045 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.2'
2014-01-07 06:04:30,049 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.1'
2014-01-07 06:04:30,049 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.1'
2014-01-07 06:04:30,053 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.2'
2014-01-07 06:04:30,053 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.2'
2014-01-07 06:04:30,058 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.3'
2014-01-07 06:04:30,059 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.3'
2014-01-07 06:04:30,062 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.4'
2014-01-07 06:04:30,062 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.4'
2014-01-07 06:04:30,066 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/5.1'
2014-01-07 06:04:30,068 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/5.1'
2014-01-07 06:04:30,072 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/5.2'
2014-01-07 06:04:30,072 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/5.2'
2014-01-07 06:04:30,075 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/30.1'
2014-01-07 06:04:30,076 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/30.1'
2014-01-07 06:04:30,081 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/30.3'
2014-01-07 06:04:30,081 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/30.3'
2014-01-07 06:04:30,085 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/11.1'
2014-01-07 06:04:30,085 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/11.1'
2014-01-07 06:04:30,089 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/11.2'
2014-01-07 06:04:30,091 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/11.2'
2014-01-07 06:04:30,095 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.1'
2014-01-07 06:04:30,095 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.1'
2014-01-07 06:04:30,098 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.2'
2014-01-07 06:04:30,099 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.2'
2014-01-07 06:04:30,104 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.3'
2014-01-07 06:04:30,104 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.3'
2014-01-07 06:04:30,108 (2c8c) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:30,109 (2c8c) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 17353 bytes
2014-01-07 06:04:30,150 (2678) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/createvo?source_title=HDHomeRun&thumb=__NONE__&title=Watch+KTVI-DT+%282.1%29+Live&url=http%3A%2F%2F192.168.2.101%3A23013%2F2.1&channel_program=3&include_container=True&summary=Watch+KTVI-DT+%282.1%29+Live&duration=10800000&channel_code=647000000
2014-01-07 06:04:30,153 (2678) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/createvo
2014-01-07 06:04:30,155 (2678) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,157 (2678) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,161 (2678) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:30,161 (2678) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 1395 bytes
2014-01-07 06:04:32,846 (7ec) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/createvo?channel_code=647000000&channel_program=3&duration=10800000&include_container=True&source_title=HDHomeRun&summary=Watch%2BKTVI-DT%2B%25282%2E1%2529%2BLive&thumb=__NONE__&title=Watch%2BKTVI-DT%2B%25282%2E1%2529%2BLive&url=http%3A%2F%2F192%2E168%2E2%2E101%3A23013%2F2%2E1
2014-01-07 06:04:32,852 (7ec) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/createvo
2014-01-07 06:04:32,861 (7ec) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:32,861 (7ec) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:32,871 (7ec) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:32,871 (7ec) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 1423 bytes
2014-01-07 06:04:32,923 (2830) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/playvideo?channel_program=3&channel_code=647000000
2014-01-07 06:04:32,926 (2830) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/playvideo
2014-01-07 06:04:32,934 (2830) :  CRITICAL (core:561) - Exception (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py", line 840, in handle_request
    result = f(**d)
  File "C:\Users\Administrator\AppData\Local\Plex Media Server\Plug-ins\HDSurfer.bundle\Contents\Code\__init__.py", line 112, in PlayVideo
    return Redirect(s.hdhomerun_plex(channel_code, channel_program))
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1473, in parse_response
    return u.close()
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: ":[Error 2] The system cannot find the file specified">

2014-01-07 06:04:32,937 (2830) : DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:32,937 (2830) : DEBUG (runtime:915) - Response: [500] 1557 bytes

It seems the plugin can find HDSurferWave, but the stream is not found.  I've verified all the ports are open and I can connect to them.  For instance when I enter the URL in Chrome: http://192.168.2.101:23013/46.1, I see a page from VideoLAN, but it shows 46.1 is Not Found.  

My server.ini file is:

[XMLRPC_ONE]
servernetaddr = 192.168.2.101
xmlrpcport = 8000
tuner0port = 23013
stream0port = 23113
plexserverip = 192.168.2.101

[HDHR_DEVICE]
deviceid = 103C10B7
tunerid = 0

[TV_DATA]
updatedays = 1
countrycode = US
lookaround = 48

The output from HDSurferWave when starting is:

C:\PlexHDHomerun\HDSurferWave>python hdsurferwave.py start
Warning: option --sout-ffmpeg-strict no longer exists.

Enter the following info into the Plex HD Surfer v0.5 plug-in preferences:

    Stream Server IP: 192.168.2.101
    Stream Server Port: 23013
    Communication Port: 8000
    HDHomeRun ID: 103C10B7 [FOUND: 192.168.2.128]
    HDHomeRun Tuner: 0

HDSurferWave ALPHA-0.3 is now up and running!

I'm using the following versions of software:

Plex Media Server 0.9.818.290-11b7fdd-en-US
VLC 2.1.2
Python 2.7.6

Any help would be appreciated.

Thanks

I would love to try and help get this running on windows based plex servers.

Did I misread through out this, does the channel not yet work on Roku (specifically Roku 2XS, Roku 2HD and the original RokuHD)?

my PMS is 0.9.8.11 running on Ubuntu 12.04 x64

I'm getting successful playback of the channel/tv on the PlexWeb with 0 interlacing, however on both my android Plex Client and all 3 Roku devices, going into the HDSurfer channel I'm only getting a Settings option.  for the Stream Server IP: I've tried both 127.0.0.1 and 192.168.1.15 (the eth0 ip of the server)

I've also tried Display TV data in both false and true states and gotten no success.  Please help.

Disregard (but won't delete the post for posterity)

Turns out the server WAVE was dying when I closed the putty session, forgot to launch it with an & at the end to make it persistant.

I've been trying to get this to work on Mac OS X. I've deleted and re-downloaded several times still not worky.

FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.

As far as I can tell all of the required files are in the correct directory.  Here is my list of files in the directory:

gconfig.py		hdhomerun_config	libhdhomerun.py		libhdswutils.py		vlc.py
gconfig.pyc		hdsurferwave.py		libhdhomerun.pyc	libhdswutils.pyc

Hopefully someone can point me in the right direction on what I'm missing. Thanks for all your work on this plugin!

I have gotten HDSurferWave running on Windows.  The steps were fairly straight forward with the exception of building the libhdhomerun.dll.  If it would help, I'll look into packaging the dll with an install package to make it a simple installation.  

I'm currently stuck on getting the plugin to initiate the video stream.  The error I'm seeing is:

2014-01-07 06:04:27,002 (2b40) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:27,003 (2b40) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 17353 bytes
2014-01-07 06:04:29,849 (2c8c) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer
2014-01-07 06:04:29,855 (2c8c) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer
2014-01-07 06:04:29,865 (2c8c) :  INFO (logkit:16) - Checking to make sure the XMLRPC server is running...success!
2014-01-07 06:04:30,000 (2c8c) :  DEBUG (base:123) - Checking if com.plexapp.plugins.hdsurfer is broken
2014-01-07 06:04:30,003 (2c8c) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjgKY29tLnBsZXhhcHAucGx1Z2lucy5oZHN1cmZlcnMxMAppZGVudGlmaWVycjAK'
2014-01-07 06:04:30,030 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/46.1'
2014-01-07 06:04:30,032 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/46.1'
2014-01-07 06:04:30,039 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,039 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,043 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.2'
2014-01-07 06:04:30,045 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.2'
2014-01-07 06:04:30,049 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.1'
2014-01-07 06:04:30,049 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.1'
2014-01-07 06:04:30,053 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.2'
2014-01-07 06:04:30,053 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.2'
2014-01-07 06:04:30,058 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.3'
2014-01-07 06:04:30,059 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.3'
2014-01-07 06:04:30,062 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/9.4'
2014-01-07 06:04:30,062 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/9.4'
2014-01-07 06:04:30,066 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/5.1'
2014-01-07 06:04:30,068 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/5.1'
2014-01-07 06:04:30,072 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/5.2'
2014-01-07 06:04:30,072 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/5.2'
2014-01-07 06:04:30,075 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/30.1'
2014-01-07 06:04:30,076 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/30.1'
2014-01-07 06:04:30,081 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/30.3'
2014-01-07 06:04:30,081 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/30.3'
2014-01-07 06:04:30,085 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/11.1'
2014-01-07 06:04:30,085 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/11.1'
2014-01-07 06:04:30,089 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/11.2'
2014-01-07 06:04:30,091 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/11.2'
2014-01-07 06:04:30,095 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.1'
2014-01-07 06:04:30,095 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.1'
2014-01-07 06:04:30,098 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.2'
2014-01-07 06:04:30,099 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.2'
2014-01-07 06:04:30,104 (2c8c) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/4.3'
2014-01-07 06:04:30,104 (2c8c) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/4.3'
2014-01-07 06:04:30,108 (2c8c) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:30,109 (2c8c) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 17353 bytes
2014-01-07 06:04:30,150 (2678) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/createvo?source_title=HDHomeRun&thumb=__NONE__&title=Watch+KTVI-DT+%282.1%29+Live&url=http%3A%2F%2F192.168.2.101%3A23013%2F2.1&channel_program=3&include_container=True&summary=Watch+KTVI-DT+%282.1%29+Live&duration=10800000&channel_code=647000000
2014-01-07 06:04:30,153 (2678) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/createvo
2014-01-07 06:04:30,155 (2678) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,157 (2678) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:30,161 (2678) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:30,161 (2678) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 1395 bytes
2014-01-07 06:04:32,846 (7ec) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/createvo?channel_code=647000000&channel_program=3&duration=10800000&include_container=True&source_title=HDHomeRun&summary=Watch%2BKTVI-DT%2B%25282%2E1%2529%2BLive&thumb=__NONE__&title=Watch%2BKTVI-DT%2B%25282%2E1%2529%2BLive&url=http%3A%2F%2F192%2E168%2E2%2E101%3A23013%2F2%2E1
2014-01-07 06:04:32,852 (7ec) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/createvo
2014-01-07 06:04:32,861 (7ec) :  DEBUG (services:602) - No service found for URL 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:32,861 (7ec) :  DEBUG (services:617) - No matching services found for 'http://192.168.2.101:23013/2.1'
2014-01-07 06:04:32,871 (7ec) :  DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:32,871 (7ec) :  DEBUG (runtime:915) - Response: [200] MediaContainer, 1423 bytes
2014-01-07 06:04:32,923 (2830) :  DEBUG (runtime:717) - Handling request GET /video/hdsurfer/playvideo?channel_program=3&channel_code=647000000
2014-01-07 06:04:32,926 (2830) :  DEBUG (runtime:814) - Found route matching /video/hdsurfer/playvideo
2014-01-07 06:04:32,934 (2830) :  CRITICAL (core:561) - Exception (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py", line 840, in handle_request
    result = f(**d)
  File "C:\Users\Administrator\AppData\Local\Plex Media Server\Plug-ins\HDSurfer.bundle\Contents\Code\__init__.py", line 112, in PlayVideo
    return Redirect(s.hdhomerun_plex(channel_code, channel_program))
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 1473, in parse_response
    return u.close()
  File "C:\Program Files (x86)\Plex\Plex Media Server\python27.zip\xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: ":[Error 2] The system cannot find the file specified">

2014-01-07 06:04:32,937 (2830) : DEBUG (runtime:106) - Sending packed state data (109 bytes)
2014-01-07 06:04:32,937 (2830) : DEBUG (runtime:915) - Response: [500] 1557 bytes

It seems the plugin can find HDSurferWave, but the stream is not found.  I've verified all the ports are open and I can connect to them.  For instance when I enter the URL in Chrome: http://192.168.2.101:23013/46.1, I see a page from VideoLAN, but it shows 46.1 is Not Found.  

My server.ini file is:

[XMLRPC_ONE]
servernetaddr = 192.168.2.101
xmlrpcport = 8000
tuner0port = 23013
stream0port = 23113
plexserverip = 192.168.2.101

[HDHR_DEVICE]
deviceid = 103C10B7
tunerid = 0

[TV_DATA]
updatedays = 1
countrycode = US
lookaround = 48

The output from HDSurferWave when starting is:

C:\PlexHDHomerun\HDSurferWave>python hdsurferwave.py start
Warning: option --sout-ffmpeg-strict no longer exists.

Enter the following info into the Plex HD Surfer v0.5 plug-in preferences:

    Stream Server IP: 192.168.2.101
    Stream Server Port: 23013
    Communication Port: 8000
    HDHomeRun ID: 103C10B7 [FOUND: 192.168.2.128]
    HDHomeRun Tuner: 0

HDSurferWave ALPHA-0.3 is now up and running!

I'm using the following versions of software:

Plex Media Server 0.9.818.290-11b7fdd-en-US
VLC 2.1.2
Python 2.7.6

Any help would be appreciated.

Thanks

Did you get this working? If not, are you running HDSurferWave on the same system as Plex?

I've been trying to get this to work on Mac OS X. I've deleted and re-downloaded several times still not worky.

FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.

As far as I can tell all of the required files are in the correct directory.  Here is my list of files in the directory:

gconfig.py		hdhomerun_config	libhdhomerun.py		libhdswutils.py		vlc.py
gconfig.pyc		hdsurferwave.py		libhdhomerun.pyc	libhdswutils.pyc

Hopefully someone can point me in the right direction on what I'm missing. Thanks for all your work on this plugin!

Make sure you cd into the directory where the files are and run:

python  libhdswutils.py force_channel_scan

That will do a direct call to the library which should throw a more detailed error in the event your missing a base python library or something.

I've been trying to get this to work on Mac OS X. I've deleted and re-downloaded several times still not worky.

FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.

As far as I can tell all of the required files are in the correct directory.  Here is my list of files in the directory:

gconfig.py		hdhomerun_config	libhdhomerun.py		libhdswutils.py		vlc.py
gconfig.pyc		hdsurferwave.py		libhdhomerun.pyc	libhdswutils.pyc

Hopefully someone can point me in the right direction on what I'm missing. Thanks for all your work on this plugin!

Only method I have found to get rid of those errors on OS X (10.6.8) is to follow Martin's example in post 5 of this thread. After that was fixed, I then kept hitting the wall that it could not find vlc.py (also clearly in the same directory). Solution to this 2nd issue (for me) was to make sure the VLC application is in the top level of the Applications folder and not in a sub-folder/directory. Am able to watch live TV but have no program data as channel scanning either fails or gives completely incorrect data.

Only method I have found to get rid of those errors on OS X (10.6.8) is to follow Martin's example in post 5 of this thread. After that was fixed, I then kept hitting the wall that it could not find vlc.py (also clearly in the same directory). Solution to this 2nd issue (for me) was to make sure the VLC application is in the top level of the Applications folder and not in a sub-folder/directory. Am able to watch live TV but have no program data as channel scanning either fails or gives completely incorrect data.

I made the link just like Martin, if I try to run easy_install PyHDHomerun, I get this. I'm running EyeTV 3.5.4.

Searching for PyHDHomerun
Reading http://pypi.python.org/simple/PyHDHomerun/
Best match: pyhdhomerun 2.3.4
Downloading https://pypi.python.org/packages/source/p/pyhdhomerun/pyhdhomerun-2.3.4.tar.gz#md5=2ad109b703ae1d310749befbfe9e21d6
Processing pyhdhomerun-2.3.4.tar.gz
Running pyhdhomerun-2.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-FfSfqj/pyhdhomerun-2.3.4/egg-dist-tmp-cpQDMm
ERROR:root:Could not load HDHR library from [/usr/lib/libhdhomerun.so].
Traceback (most recent call last):
  File "/tmp/easy_install-FfSfqj/pyhdhomerun-2.3.4/pyhdhomerun/hdhr.py", line 16, in get_hdhr
    get_hdhr.instance = cdll.LoadLibrary(constants.HDHR_FILEPATH)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 431, in LoadLibrary
    return self._dlltype(name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/lib/libhdhomerun.so, 6): no suitable image found.  Did find:
	/usr/lib/libhdhomerun.so: mach-o, but wrong architecture
Could not load HDHomeRun library: dlopen(/usr/lib/libhdhomerun.so, 6): no suitable image found.  Did find:
	/usr/lib/libhdhomerun.so: mach-o, but wrong architecture
error: Setup script exited with 1

Thanks for your help!

@chrislabeard

What kind of Mac you have? Intel or PowerPC? The error Message tells you, the library libhdhomerun.so is a mach-o (ok) but does not including the right architektur. Open Terminal.app and type

file /usr/lib/libhdhomerun.so

I got

Mach-O-dynamically linked shared library i386

Mach-O 64-bit dynamically linked shared library x86_64

And have an Intel i5 (64 Bit) OSX 10.8.5 64-Bit boot/Kernel


Made it working like post #5. But have to made my channellist with scripts based on a hdhomerun scan.

@chrislabeard
What kind of Mac you have? Intel or PowerPC? The error Message tells you, the library libhdhomerun.so is a mach-o (ok) but does not including the right architektur. Open Terminal.app and type
file /usr/lib/libhdhomerun.so
I got
Mach-O-dynamically linked shared library i386
Mach-O 64-bit dynamically linked shared library x86_64
And have an Intel i5 (64 Bit) OSX 10.8.5 64-Bit boot/Kernel

Made it working like post #5. But have to made my channellist with scripts based on a hdhomerun scan.

This is what I got when I did that.

/usr/lib/libhdhomerun.so: Mach-O dynamically linked shared library i386

Its a Mac Mini i5

Here is my "uname -a"

Darwin beardtv.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

Looks like I'm running 64bit and the lib file is for 32bit, so would I just reinstall eyeTV?

Thanks for your help!

I too am getting the following error:

FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.

I am running the script from the same directory it is located in, I have confirmed that the .so file is in the correct location and that there is a link to the hdhomerun_config file in the same folder as the script. Any one have any thoughts on why the import is failing?

I am running Ubuntu 13.10 and python 2.7.5+

Here is part of a debug execution of python
 

import marshal # builtin
# /usr/lib/python2.7/platform.pyc matches /usr/lib/python2.7/platform.py
import platform # precompiled from /usr/lib/python2.7/platform.pyc
# /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/libhdswutils.pyc matches /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/libhdswutils.py
import libhdswutils # precompiled from /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/libhdswutils.pyc
import xml.etree # directory /usr/lib/python2.7/xml/etree
# /usr/lib/python2.7/xml/etree/__init__.pyc matches /usr/lib/python2.7/xml/etree/__init__.py
import xml.etree # precompiled from /usr/lib/python2.7/xml/etree/__init__.pyc
# /usr/lib/python2.7/xml/etree/ElementTree.pyc matches /usr/lib/python2.7/xml/etree/ElementTree.py
import xml.etree.ElementTree # precompiled from /usr/lib/python2.7/xml/etree/ElementTree.pyc
# /usr/lib/python2.7/xml/etree/ElementPath.pyc matches /usr/lib/python2.7/xml/etree/ElementPath.py
import xml.etree.ElementPath # precompiled from /usr/lib/python2.7/xml/etree/ElementPath.pyc
# /usr/lib/python2.7/inspect.pyc matches /usr/lib/python2.7/inspect.py
import inspect # precompiled from /usr/lib/python2.7/inspect.pyc
# /usr/lib/python2.7/dis.pyc matches /usr/lib/python2.7/dis.py
import dis # precompiled from /usr/lib/python2.7/dis.pyc
# /usr/lib/python2.7/opcode.pyc matches /usr/lib/python2.7/opcode.py
import opcode # precompiled from /usr/lib/python2.7/opcode.pyc
import imp # builtin
# /usr/lib/python2.7/tokenize.pyc matches /usr/lib/python2.7/tokenize.py
import tokenize # precompiled from /usr/lib/python2.7/tokenize.pyc
# /usr/lib/python2.7/token.pyc matches /usr/lib/python2.7/token.py
import token # precompiled from /usr/lib/python2.7/token.pyc
# /usr/lib/python2.7/urllib.pyc matches /usr/lib/python2.7/urllib.py
import urllib # precompiled from /usr/lib/python2.7/urllib.pyc
# /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/gconfig.pyc matches /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/gconfig.py
import gconfig # precompiled from /usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/gconfig.pyc
# /usr/lib/python2.7/ConfigParser.pyc matches /usr/lib/python2.7/ConfigParser.py
import ConfigParser # precompiled from /usr/lib/python2.7/ConfigParser.pyc
dlopen("/usr/share/HDSurfer-ALPHA-0.3/HDSurferWave/libhdhomerun.so", 2);
FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.

Update: More progress. I added a little more detail to error handling and came up with the follow error
 

(, ImportError('dynamic module does not define init function (initlibhdhomerun)',), )

It is being triggered when trying to "libhdhomerun.py"

Update: Found It!  I had created a link to "libhdhomerun.so" and this was causing the issue.  Removed that and I was able to run the script.

Update: Script is running, plug in seems to be running.  However I cannot get to the plugin settings screen.  It just try and then stays on the main channel list screen.

I gave up on my mac, got the HDSurfer running on my ubuntu machine. I installed the bundle file, but when I try to go in and configure the settings it just spins. I went into the .json file to configure it manually, and it doesn't seem to be trying to make a connection.

Okay update:

I edited the json file, but I guess it had already made its way into the xml so I went in and modified that with the correct details. Now i'm getting a connection with the channel list, but i'm getting that awesome Cannot Load M3U8 error. VLC is open on my ubuntu machine. Server is running fine, I tried viewing the stream in VLC on ubuntu but that didn't work either. 

So confused.