HDHomeRun V2 Plug-in

Some additional info re HDHR that may or may not be applicable here.

Silicon Dust does have several new HDHR models (HDHR4-US and the HDHR4-CC) in the pipeline that will apparently do H.264 transcoding on the fly within the unit in addition to supporting DNLA.

http://www.engadget.com/2013/01/08/silicondust-announces-two-new-hdhomerun-network-tuners-with-tr/

http://www.silicondust.com/forum2/viewtopic.php?f=13&t=15154

  

From a posting recently in their support forum, it appears that the existing HDHR "dual devices" will never be able to do DNLA.

http://www.silicondust.com/forum2/viewtopic.php?f=13&t=15154#p88537

Hi all. 

I have an HDHR (US version, not prime) that I'm trying to make work with PMS on a Linux system. 

I ran rickw's bash script and it successfully generated a bunch of strm files, some of which I moved to the movies section.

I installed the V2 plugin from from Git, installed it (well, I moved the bundle to the plugins directory and checked the ownerships and permissions were OK, nothing else) and restarted PMS.

The output of com.plexapp.plugins.hdhomerunV2.log is pasted below. When I try to play the Plex entry corresponding to the STRM file, I get a message: Cannot load M3U8: 404 not found

Any suggestions? Am I missing something? How close am I?

---------

2013-09-02 18:54:12,514 (7fd0d41e7740) :  INFO (core:336) - Starting framework core - Version: 2.3.11, Build: 9dc7356 (Thu Aug 29 21:52:02 UTC 2013)
2013-09-02 18:54:12,514 (7fd0d41e7740) :  DEBUG (core:348) - Using the standard policy
2013-09-02 18:54:12,514 (7fd0d41e7740) :  DEBUG (core:437) - Starting runtime component.
2013-09-02 18:54:12,516 (7fd0d41e7740) :  DEBUG (core:437) - Starting caching component.
2013-09-02 18:54:12,516 (7fd0d41e7740) :  DEBUG (core:437) - Starting data component.
2013-09-02 18:54:12,516 (7fd0d41e7740) :  DEBUG (core:437) - Starting networking component.
2013-09-02 18:54:12,516 (7fd0d41e7740) :  DEBUG (networking:318) - Loaded HTTP cookies
2013-09-02 18:54:12,517 (7fd0d41e7740) :  DEBUG (caching:108) - No info file found, trashing the cache folder
2013-09-02 18:54:12,517 (7fd0d41e7740) :  DEBUG (networking:504) - Setting the default network timeout to 20.0
2013-09-02 18:54:12,518 (7fd0d41e7740) :  DEBUG (core:437) - Starting localization component.
2013-09-02 18:54:12,518 (7fd0d41e7740) :  INFO (localization:408) - Setting the default locale to en-us
2013-09-02 18:54:12,519 (7fd0d41e7740) :  WARNING (data:186) - Error decoding with simplejson, using demjson instead (this will cause a performance hit) - Expecting property name: line 93 column 1 (char 3856)
2013-09-02 18:54:12,524 (7fd0d41e7740) :  DEBUG (localization:426) - Loaded en strings
2013-09-02 18:54:12,524 (7fd0d41e7740) :  DEBUG (core:437) - Starting messaging component.
2013-09-02 18:54:12,525 (7fd0d41e7740) :  DEBUG (core:437) - Starting debugging component.
2013-09-02 18:54:12,525 (7fd0d41e7740) :  DEBUG (core:437) - Starting services component.
2013-09-02 18:54:12,525 (7fd0a7fff700) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/system/messaging/clear_events/com.plexapp.plugins.hdhomerunV2'
2013-09-02 18:54:12,526 (7fd0d41e7740) :  DEBUG (core:437) - Starting myplex component.
2013-09-02 18:54:12,527 (7fd0d41e7740) :  DEBUG (core:437) - Starting notifications component.
2013-09-02 18:54:12,643 (7fd0d41e7740) :  DEBUG (accessor:68) - Creating a new model access point for provider com.plexapp.plugins.hdhomerunV2 in namespace 'metadata'
2013-09-02 18:54:12,646 (7fd0d41e7740) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/resourceHashes'
2013-09-02 18:54:13,693 (7fd0a7fff700) :  DEBUG (services:265) - Plug-in is not daemonized - loading services from system
2013-09-02 18:54:13,693 (7fd0d41e7740) :  DEBUG (runtime:1107) - Created a thread named 'load_all_services'
2013-09-02 18:54:13,695 (7fd0a7fff700) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X0J1bmRsZVNlcnZpY2U6QWxsU2VydmljZXM_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMApyMAo_'
2013-09-02 18:54:13,695 (7fd0d41e7740) :  DEBUG (runtime:1107) - Created a thread named 'get_server_info'
2013-09-02 18:54:13,696 (7fd0d41e7740) :  DEBUG (core:149) - Finished starting framework core
2013-09-02 18:54:13,696 (7fd0d41e7740) :  DEBUG (core:547) - Loading plug-in code
2013-09-02 18:54:13,697 (7fd0a6ffd700) :  DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400'
2013-09-02 18:54:13,857 (7fd0d41e7740) :  DEBUG (core:553) - Finished loading plug-in code
2013-09-02 18:54:13,883 (7fd0d41e7740) :  CRITICAL (core:602) - Exception starting plug-in (most recent call last):
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/core.py", line 595, in start
    self.sandbox.execute(self.init_code)
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/code/sandbox.py", line 259, in execute
    exec(code) in self.environment
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/HDHomeRunV2.bundle/Contents/Code/__init__.py", line 11, in
    import lineupList
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/code/sandbox.py", line 348, in __import__
    raise e
ImportError: No module named lineupList
 
2013-09-02 18:54:13,886 (7fd0a6ffd700) :  DEBUG (core:525) - Machine identifier is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2013-09-02 18:54:13,887 (7fd0a6ffd700) :  DEBUG (core:526) - Server version is 0.9.8.5.165-c301c50
2013-09-02 18:54:13,952 (7fd0a7fff700) :  DEBUG (services:362) - Loaded services
2013-09-02 18:54:13,957 (7fd0a77fe700) :  DEBUG (services:438) - No shared code to load

Hey guys, I'm looking to help with the development of the V2 plug-in for the HDHomerun... I recently got one of these and want to get it working in Plex. After looking around the net and forums past couple of days it's obvious that it's not going to be a small task so I figured I would throw my hat in the ring.

Can someone bring me up to speed on the current code status? What are the current showstoppers? I've already downloaded the master and have started working through some of the obvious issues locally (i.e. it doesn't even load in Plex FC  2.3.11).

Edit: I have the Plug-in loading now and seems almost all but functional with the exception of actually starting a stream.

cary Media Info XML:

plex://127.0.0.1/video/:/webkit?url=http%3A%2F%2Fwww.plexapp.com%2Fplayer%2Fsilverlight.php%3Fstream%3Dhdhomerun%253A%2F%2F103C4720-0%2Ftuner0%253Fchannel%253Dauto%253A39%2526program%253D1&prefix=/video/hdhomerunV2

@josh.zeno

There are more questions than answers.

As far as I know, HDHomeRun support in Plex has stalled. I was able to get strm files working without the plugin in older versions of Plex Media Player for Mac, but it was such a PITA. I ended up reverting to EyeTV for live TV.

I don’t know if the latest builds Plex Home Theater (PHT name change and newer builds) even supports strm files.

I think you may find more useful information about the HDHomerun streams in the XBMC forums.

And if you need a beta tester, I am available.

Good luck.
-End

Thanks @enduser what is your primary Plex server platform?

I have some ideas for how to get things working inside of Plex but I suspect that my POC is going to ultimately require some setup outside of Plex as well... I have about a million options I just need to focus efforts on the one that has the best chance to work with the least amount of end-user interaction across platforms.

Hopefully I'll have something to show soon, I'll post back here when I do.

I use a dedicated Mac Mini system for my PMS. A friend of mine had a Lunix system (I think OpenElec) with a HDHomerun, but uses PleXBMC to get LiveTV. I know he would be very interested in this thread if you can manage to get it to work.

Godspeed josh.zeno!

OK, just poking around the last hour or so... I have already found a quick and dirty way to get my Plex plug-in to talk with the official hdhomerun_config library... that's a big step in the right direction. Now, I just need to scab together a way to get the hdhomerun stream back into the plug-in for display... shouldn't be too hard.*

So far so good...

* Famous last words  :)

Sweet. I’ll be available after the series finale of Breaking Bad if you would like a tester.

OK, quick update.

I just got my system working where video is streaming from the HDHomerun to the Plex server and I'm able to view a stream in the plug-in... it works really quickly on the web interface and also on my Android but it's a lot slower on the Roku... but it does work, nonetheless.

There are still some big hurdles I have to get over that are severely limiting the practicality of the plug-in... but for now, I can report... progress!

@josh.zeno

So you are able to view mpeg2 streams? Great. And it’s talking to the PMS? Rock on! Like I said, I would be happy to be a tester.

Thanks.

OK, quick update.

I just got my system working where video is streaming from the HDHomerun to the Plex server and I'm able to view a stream in the plug-in... it works really quickly on the web interface and also on my Android but it's a lot slower on the Roku... but it does work, nonetheless.

There are still some big hurdles I have to get over that are severely limiting the practicality of the plug-in... but for now, I can report... progress!

This is some of the best Plex related news I've heard in a LONG TIME.  Ditto being a beta tester here.  I use HDHomeRun with XBMC on Linux for almost all of my devices instead of Plex clients, in large part because Plex doesn't support HDHomeRun (there's other reasons too but that's a big one) but mobile devices are all Plex clients.  Would love to get HDHomeRun working in Plex.  Please let me know if I can help by beta testing!

Where can I get the latest version of the plugin in development? There are a couple github versions but it doesn't look like any have been updated in a while.

Hey Josh.zeno

Great news, had kind of given up on being able to get live tv through my plex setup. I'd played around w/ different strm file hacks, but nothing consistent and able to be used by other downstream Plex clients. Glad to see someone else picking up on the HDHomeRun, as pretty cool device.

In case you need some more testing, happy to assist as would love to see this come together (might be able to debug/assist some as also do some coding).

- PlexMediaServer running on a Windows 7 machine (also have a Mac OS server I can spin up)

- Plex clients I can test against

  • Windows based Plex Desktop client, + PHT
  • OSX Desktop client
  • Plex IOS app on IOS 7 (IPhone) and IOS5.1 (IPad 1)
  • PleXBMC on a raspery Pi

Thanks.

Looking forward to this. I just picked up a prime  :D

@mwheel

The version I'm working on has become a completely new project as I do not plan to use any of the original code from these v1 and v2 plug-ins. The plug-in I'm working on will function in a completely different way. Last I could do was get the V2 plug-in to load and populate but it wouldn't load any of the streams from the HDHR device.

@dvdflex

I only own the HDHR3-US so that's the one I'm building the new plug-in from... once it's at a respectable level I'll look through the Prime documentation but I'll also be putting the code on GitHub so maybe someone with a Prime can help if required.

---

Another quick update on progress...  I've made some progress on both the server and plug-in and I should have an alpha version that's very, very, very raw proof of concept ready in the next couple of days. The main feedback I'll be looking for will simply be:

  1. Does the system work for you?
  2. What is the performance hit on the server while streaming?
  3. Any other random feedback.

It will be noted that there will be no fancy "setup" to the ALPHA (that will be coming) and things will most likely look like crap, break, and be unstable but the good news is that there's nothing that could "mess up" your Plex install or your system as it's only a couple of python scripts that you can read and kill if you notice anything "wrong" like a rouge process... so yea. More on the alpha soon.

@josh.zeno

I'd definitely help out w/ testing the prime once you are already. I am waiting for it to ship, should be here early next week. There is a similar project being developed but its for the roku. 

https://github.com/computmaxer/roku-hdhomerun

Best of luck!

@mwheel

The version I'm working on has become a completely new project as I do not plan to use any of the original code from these v1 and v2 plug-ins. The plug-in I'm working on will function in a completely different way. Last I could do was get the V2 plug-in to load and populate but it wouldn't load any of the streams from the HDHR device.

@dvdflex

I only own the HDHR3-US so that's the one I'm building the new plug-in from... once it's at a respectable level I'll look through the Prime documentation but I'll also be putting the code on GitHub so maybe someone with a Prime can help if required.

---

Another quick update on progress...  I've made some progress on both the server and plug-in and I should have an alpha version that's very, very, very raw proof of concept ready in the next couple of days. The main feedback I'll be looking for will simply be:

  1. Does the system work for you?
  2. What is the performance hit on the server while streaming?
  3. Any other random feedback.

It will be noted that there will be no fancy "setup" to the ALPHA (that will be coming) and things will most likely look like crap, break, and be unstable but the good news is that there's nothing that could "mess up" your Plex install or your system as it's only a couple of python scripts that you can read and kill if you notice anything "wrong" like a rouge process... so yea. More on the alpha soon.

Can't wait for this!  Thanks for the update and I'll definitely be testing as soon as it's posted.

@josh.zeno

Thank you. We are all excited and ready to help where we can.

-End

I was doing some research into converting older HDHR streams to HTTP and came across this:

http://connect.vail.k12.az.us/federoffm/2012/10/24/streaming-catv-over-ip-with-http-live-streaming/

I understand the instructions are for the HDHR Tech, however I think it’s possible to create a HTTP stream with the non-tech versions. Maybe this can help.

-End

I was doing some research into converting older HDHR streams to HTTP and came across this:

http://connect.vail.k12.az.us/federoffm/2012/10/24/streaming-catv-over-ip-with-http-live-streaming/

I understand the instructions are for the HDHR Tech, however I think it's possible to create a HTTP stream with the non-tech versions. Maybe this can help.

-End

This is the exact same concept I'm using for the system... The big difference in this solution will be simplicity as I'm attempting to take out the legwork and bring everything into a couple of small packages so it's easy and reliable. The diagram he posted is, essentially spot-on with the exception of the last part, that will all be handled by Plex:

hdhr_live1.png

@josh.zeno

I'd definitely help out w/ testing the prime once you are already. I am waiting for it to ship, should be here early next week. There is a similar project being developed but its for the roku. 

https://github.com/computmaxer/roku-hdhomerun

Best of luck!

Yes, as enduser also mentioned this seems to be the type of 'system' to get things working. The advantage of the Plex plug-in over the Roku will be that Plex is charged with doing the transcoding and handing the end clients which makes development faster, more reliable, and should work without the need for a dedicated plug-in for each platform. So far my testing is working on Android (S4 and Nexus 7) and Roku 3 and Roku 2 XS... I'm not sure why it wouldn't work on other clients but that's what testing is for, right?  :)

I created a quick sign-up form so I can keep track of who would like to test at what stage: https://docs.google.com/forms/d/1wl_z2z8iyyeQTEfZF19OEz05__kOF4BRbruwPhzDjUA/viewform