HDSurfer Plug-in for HDHomeRun

Started from scratch.

Plex:HDSurferWave plex$ easy_install PyHDHomeRunSearching for PyHDHomeRun
Best match: pyhdhomerun 2.3.4
Processing pyhdhomerun-2.3.4-py2.7.egg
pyhdhomerun 2.3.4 is already the active version in easy-install.pth

Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyhdhomerun-2.3.4-py2.7.egg
Processing dependencies for PyHDHomeRun
Finished processing dependencies for PyHDHomeRun
Plex:HDSurferWave plex$ easy_install vlcSearching for vlc
Best match: vlc 0.0.1
Processing vlc-0.0.1-py2.7.egg
vlc 0.0.1 is already the active version in easy-install.pth

Using /Library/Python/2.7/site-packages/vlc-0.0.1-py2.7.egg
Processing dependencies for vlc
Finished processing dependencies for vlc
Plex:HDSurferWave plex$ python hdsurferwave.py start
Enter the following info into the Plex plug-in:

Stream Server IP: 192.168.1.40
Stream Server Port: 23013
Communication Port: 8000
HDHomeRun ID: 1013AF7F [FOUND: 192.168.1.51]
HDHomeRun Tuner: 1

Server is now running!

HDSurfer : Stream Server Unreachable? : hdsurfer in PHT. Sometimes I see the number of channels in the lower right corner of the plugin screen, then it defaults to HDHomerun Settings.

More test results:

Plex/Web in Firefox on Linux:  Fully working, with transcoding

Plex/Web in Chrome on Linux:  Fully working, with transcoding

Plex Home Theater in Linux:  Fully working, no transcoding

PleXBMC in XBMC 12.2 on Linux:  Fully working, no transcoding (but one can force transcoding in PleXBMC)

Plex iOS App:  Browses and tries to load but never plays any video

Plex Android App:  Fully working, with transcoding. A little choppy though.

On a Core 2 Quad 2.33GHz (Q8200), CPU is at about 130-150% transcoding a typical 720p live TV stream

Great, GREAT work so far.  I am truly impressed and quite excited :D

That's great news! I recently sold my iPad 2 so I'm not able to test on iOS. If you are able to check the plug-in logs on the Plex server maybe you can see if the Plex server is throwing some kind of error with the iOS device?

Started from scratch.

Plex:HDSurferWave plex$ easy_install PyHDHomeRunSearching for PyHDHomeRun
Best match: pyhdhomerun 2.3.4
Processing pyhdhomerun-2.3.4-py2.7.egg
pyhdhomerun 2.3.4 is already the active version in easy-install.pth

Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyhdhomerun-2.3.4-py2.7.egg
Processing dependencies for PyHDHomeRun
Finished processing dependencies for PyHDHomeRun
Plex:HDSurferWave plex$ easy_install vlcSearching for vlc
Best match: vlc 0.0.1
Processing vlc-0.0.1-py2.7.egg
vlc 0.0.1 is already the active version in easy-install.pth

Using /Library/Python/2.7/site-packages/vlc-0.0.1-py2.7.egg
Processing dependencies for vlc
Finished processing dependencies for vlc
Plex:HDSurferWave plex$ python hdsurferwave.py start
Enter the following info into the Plex plug-in:

Stream Server IP: 192.168.1.40
Stream Server Port: 23013
Communication Port: 8000
HDHomeRun ID: 1013AF7F [FOUND: 192.168.1.51]
HDHomeRun Tuner: 1

Server is now running!

HDSurfer : Stream Server Unreachable? : hdsurfer in PHT. Sometimes I see the number of channels in the lower right corner of the plugin screen, then it defaults to HDHomerun Settings.

I assume that you've entered those settings from hdsurferwave into the HDSurfer plug-in preferences?

Are you running hdsurferwave running on the same server as Plex?

What version of Plex Server are you running?

Did you try restarting the Plex service?

I assume that you've entered those settings from hdsurferwave into the HDSurfer plug-in preferences?

Are you running hdsurferwave running on the same server as Plex?

What version of Plex Server are you running?

Did you try restarting the Plex service?

I am running the latest PlexPass PHT and PMS. I also edited the .json file in the plugin bundle and tried with the server ip and 127.0.0.1. It's running on the same system.

I am running it on a Mac Mini core 2 duo 2.66 with the latest 10.7. I have done multiple reboots. Originally, I started with the last PlexPass PMS, upgraded thinking it may help. I wonder if I could send a script to see if the python bindings to vlc are working.

Thanks.

I am running the latest PlexPass PHT and PMS. I also edited the .json file in the plugin bundle and tried with the server ip and 127.0.0.1. It's running on the same system.

I am running it on a Mac Mini core 2 duo 2.66 with the latest 10.7. I have done multiple reboots. Originally, I started with the last PlexPass PMS, but upgraded thinking it may help.

Thanks.

OK, can you send me the com.plexapp.plugins.hdsurfer.log file(s)?

Interesting, I just loaded the latest public version of Plex Media Center and could access the settings in the channel. I couldn't before with PHT. Now I get a channel list. Woohoo!
 
However,  I get Cannot load M3U8: 404 not found when trying to view a TV Channel station. Doh! But getting closer.

NeverMind. I got it!!!! I think it may have been tunner 1, because when i switch to tunner 0 it worked.

Sweet.

Thanks @TwoOneSix

Interesting, I just loaded the latest public version of Plex Media Center and could access the settings in the channel. I couldn't before with PHT. Now I get a channel list. Woohoo!
 
However,  I get Cannot load M3U8: 404 not found when trying to view a TV Channel station. Doh! But getting closer.

NeverMind. I got it!!!!

Sweet.

Thanks @TwoOneSix

Awesome! Glad it's working at this point. Let me know the clients you're able to test and how it's working out.

I'm leaving my original response below as a reference for the future.

Ok, when you get the M3U8: 404 error, look at the output of hdsurferwave... it should say something like:

Server is now running!
Running hdhomerun_plex
Sending channel info to the HDHomeRun:
hdhomerun_config 1013AF7F set /tuner0/channel auto:#######
Sending program info to the HDHomeRun:
hdhomerun_config 1013AF7F set /tuner0/program #
Activating re-stream:
hdhomerun_config 1013AF7F set /tuner0/target 192.168.1.40:23113
Sending Plex the URI:
http://192.168.1.40:23013

Now that URI should be accessible from any application on the system, not just Plex. Try connecting to the stream directly with VLC (or whatever app you choose):

vlc http://192.168.1.40:23013

If that works, the plug-in is smoking crack and I'll need to add a little more debugging code to that for you but if that doesn't work, it could be that the VLC instance isn't starting up correctly from inside the hdsurferwave script.

In that case, open VLC directly in listening (no interface) mode. See this screenshot for the command:

https://docs.google.com/file/d/0Byz2Aanzx8lmYWtHUjJoZmpuYk0/edit?usp=sharing

*Weird forum bug... posting that line above directly just removes it from the post... I had to screenshot it... very odd.

Now run these type of commands from the hdsurferwave output manually. Example:

hdhomerun_config 1013AF7F set /tuner0/channel auto:##########
hdhomerun_config 1013AF7F set /tuner0/program #
hdhomerun_config 1013AF7F set /tuner0/target 192.168.1.40:23113

If that causes the VLC instance to start streaming, albeit outside Plex, I'll drop in some more debugging code to hdsurferwave for you.

Roku

Works! Some channels have interlacing, so I went into transcoding settings in "Stop Live TV" (only accessible in individual view not coverflow) and it crashed Plex on Roku when I tried to save. Was that suppose to happen, like a restart?

Android (cheap tablet)

Get "Can't Play this video" message on all channels.

Web

Works. However, cannot access transcode settings. Tested in Firefox, Chrome and Safari and works.

Plex Home Theater version 0.9.10.1.20-20130809-f227226b

Works. However cannot access HDHomerun settings in channel. I can with earlier versions.

I'll test tomorrow with my Prime.

Thanks.

Test with iOS Version 6.1.2 devices using Plex.app - iPad & iPhone: doesn't play.

Tested with iPad Safari web: initial pic of video shows, does not play.

Test with iOS Version 6.1.2 devices using Plex.app - iPad & iPhone: doesn't play.

Tested with iPad Safari web: initial pic of video shows, does not play.

I'm sending you a quick PM with a quick troubleshooting suggestion.

Any ideas on how to get deinterlacing working when watching Live TV through the plugin on the Apple TV (PlexConnect)?

I guess it has to be done in VLC, maybe as an option?

Also, is the dev version you mentioned earlier available for download?

Any ideas on how to get deinterlacing working when watching Live TV through the plugin on the Apple TV (PlexConnect)?

I guess it has to be done in VLC, maybe as an option?

Also, is the dev version you mentioned earlier available for download?

The dev version will be out shortly (hours, not days). I'm doing some testing on Windows first (talk about a nightmare).

I'm sending you a PM with a line to change in the hdsurferwave script about VLC deinterlacing so we can test "offline" so we don't want to clutter up the thread.

Ok, I just posted ALPHA version 0.2. Updates to both HD Surfer and HDSurferWave.

The biggest change is the support for channel icons. If you have ALPHA 0.1 working, make sure you check the README file as you need to update your channels file. Also, the server.ini file is created on the fly and no longer ships as a seperate file... if you want to test the code that generates the file simply delete (or rename) your existing file to test. The syntax is all the same so it's not required but a good tester might... well, test it.  ;)

If you were running ALPHA 0.1 and plan to use your existing channels.xml file you need to add the icon="" attribute to the XML file or the plug-in will fail to load your channels.

Download: [sharedmedia=core:attachments:20590]

Thanks for the PM (I'll test the deinterlacing right away).

I can't seem to get the icons to show up, I assume the path in the xml is relative to the root of the folder where you run hdsurferwave.py from?

Thanks for the PM (I'll test the deinterlacing right away).

I can't seem to get the icons to show up, I assume the path in the xml is relative to the root of the folder where you run hdsurferwave.py from?

Sorry, I'm a moron and didn't put any documentation on the icons in the README file. In the next release HDSurferWave will do a better job of handling icons but for now simply put your icons directly in the "HDSurfer.bundle/Content/Resources" directory and simply use the file name in the XML document.

Good news on the deinterlacing front as well! I'll be sure to add a small piece to HDSurferWave to ask the user if they need to enable the option.

I am happy to report that HDSurfer works with the Prime. HOORAY!

Screenshot is a from PHT running an encrypted tv channel - AMC HD. hdsurfer.png

There is noticeable interlacing on the video, not present in the screen grab. I had to manually create the channels.xml file from the hdhomerun_config CLI output. I am still using Alpha1, but will upgrade after this post.

This is cool. @TwoOneSix Thank you!

I've been running HDSurfer pretty much all day in PHT. Caught the Tremors marathon on AMC.

Few observations with Alpha 2 using PHT:

When watching live tv, "Now Showing" in Plex Web Admin does not display. It did before under Alpha1.

Stop Live TV works now.

The new hdsurferwave script works up to the scanning for channels. Scan went koo-koo!

I use the PHT built in deinterlace option to help with the interlacing, however this option is not available on other devices.

Pause works, but cannot go forward or backwards in PHT.

Still cannot access the HDSurfer Settings in PHT. I can in web admin.

Thanks again.

I've been running HDSurfer pretty much all day in PHT. Caught the Tremors marathon on AMC.

Few observations with Alpha 2 using PHT:

When watching live tv, "Now Showing" in Plex Web Admin does not display. It did before under Alpha1.

Stop Live TV works now.

The new hdsurferwave script works up to the scanning for channels. Scan went koo-koo!

I use the PHT built in deinterlace option to help with the interlacing, however this option is not available on other devices.

Pause works, but cannot go forward or backwards in PHT.

Still cannot access the HDSurfer Settings in PHT. I can in web admin.

Thanks again.

No problem, thanks for testing!

I've never tested the "now showing" feature but there were no changes in the way the plug-in calls the video objects so I'm not sure why it might "stop" working between versions. I'll dig through some code on how the feature works for the next alpha release.

Thanks for testing the stop feature... I notice that it still fails on some mobile devices with a "directory empty" error so I'll try to get that fixed.

Yea, the biggest issue at this point is the channel scanning and it's because it relies on the python library... I need to look into more reliable scanning options.

I've sent PMs to the users with interlacing issues to help me troubleshoot further. Since I don't experience the issue in my environment it takes longer to figure out how to fix the issue... we should be able to resolve this before the BETA version.

Yea, since the plug-in is asking Plex to do things that are not, officially, supported Plex features you'll notice that some seemingly trivial things may not work such as FF and REW and I'm not even sure how reliable PAUSE might be either... The development of the plug-in was started with intentions of getting a stream from the HDHomeRun through Plex and viewable on Plex clients... once we reach a stable release maybe I'll consider going back and trying to add some basic PAUSE, FF, and REW options as it would be cool to have that ability even if was limited.

If I can ever get PMC to load in my Windows VM I'll test accessing the settings but as long as it's working in PlexWeb for now I'll put it on the "fix before BETA" list.

Edit:

I got PMC running in my Windows 7 VM and I can access and save settings without an issue. The "objects" and other on-screen messages are probably due to the Plug-in being flagged as "DevMode". I'll remove that flag from the next "release" and it should clean-up those on-screen messages.

Thanks again for all the feedback! Hopefully I'll have the last few bugs worked out in the next week or so and we can get to a BETA release.

Can someone provide some feedback on icons support in ALPHA-0.2?

Has anyone got them working?

How do they look?

What changes might make it easier for an end user to add icons?

What information would be useful for working with icons?

Any other feedback on icons is appreciated, too.

I've got logos confirmed working, very cool!  They look great.  Maybe a script to run after it gets channels where it prompts users to type a path to a file for each channel found, and the files get copied where they need to go and the channel.xml file gets updated?