Jump to content
sle118

SiliconDust HDHR3-US support

Recommended Posts

sle118

I wanted to share my experimentation with an old generation HDHR3-US (HDHomeRun) which is an NON DLNA device. My goal is to try and centralize all video related activities to emby as much as possible, and that includes better integration with "Live TV", auto-transcode, etc. Being stuck with an older gen HDHomeRun, I was previously relying on the good old NextPVR for the recording piece. 

 

It turns out that the more recent versions of NextPVR now has a feature which enables it to "proxy" the streams as DLNA!

 

So here is what I did :

1- Point emby to new live tv tuner M3U source: http://nextpvr_server:8866/channels

2- Share the xmltv file which I had setup for the NextPRV server

3- Point the XMLTV provider in emby to this shared file

4- Map channels from the m3u tuner to the xmltv channels

5- Remove NextPVR Plugin

6- Cancel NextPVR Recordings

7- Schedule recordings in emby

8- Setup auto-transcode options, etc

 

It's not the most efficient method to record, as the video stream had to be read by the NextPvr host, which streams it over to the emby server, but my 2 servers are on a 1gbps switch so this won't hurt internet browsing (even at 30mbps). 

 

I wonder if there are ways to setup VLC or some other software locally to avoid the 2 hops.

 

Anyhow, I'll see how this works (or not) in the long run...!

Share this post


Link to post
Share on other sites
Luke

That's an excellent feature from nextpvr. Thanks for the info.

Share this post


Link to post
Share on other sites
sle118

One thing which seems to be a bummer right now is that my xml lineup provider software has multiple names for some channels, with overlaps. This means some channels can't be mapped correctly.

 

 

consider this example

	<channel id="I33.1.309138312.microsoft.com">
		<display-name>VPBS</display-name>
		<display-name>33.1 VPBS</display-name>
		<display-name>33.1</display-name>
		<display-name>32 VPBS fcc</display-name>
		<display-name>WETK HDTV</display-name>
		<display-name>PBS</display-name>
	</channel>
	<channel id="I33.2.309139221.microsoft.com">
		<display-name>VPBS+</display-name>
		<display-name>33.2 VPBS+</display-name>
		<display-name>33.2</display-name>
		<display-name>32 VPBS+ fcc</display-name>
		<display-name>WETK Plus SDTV</display-name>
		<display-name>PBS</display-name>
	</channel>
	<channel id="I33.3.309139216.microsoft.com">
		<display-name>CREAT</display-name>
		<display-name>33.3 CREAT</display-name>
		<display-name>33.3</display-name>
		<display-name>32 CREAT fcc</display-name>
		<display-name>WETK Create</display-name>
		<display-name>Create</display-name>
	</channel>
	<channel id="I33.4.309139799.microsoft.com">
		<display-name>WORLD</display-name>
		<display-name>33.4 WORLD</display-name>
		<display-name>33.4</display-name>
		<display-name>32 WORLD fcc</display-name>
		<display-name>WETK World</display-name>
		<display-name>PBS</display-name>
	</channel>

When mapping channels, I associate VPBS to 33.1, VPBS+ to 33.2, and so on. The issue, though, is that from there emby reads "PBS" and maps ALL PBS channels to the last one mapped.

 

I checked and there is no way for my xml software to make the names unique... 

 

I have uploaded a sample EPG output to the google drive folder which I shared with you, for when you get there.

 

thanks!

Edited by sle118

Share this post


Link to post
Share on other sites
vaise

Hi,

I am very interested in this solution if you have any more info.

Thanks.

Share this post


Link to post
Share on other sites
x-cimo

I have written a proxy in C (currently only for windows), I just need to start it with my server running emby. Its been pretty flawless so far.

Share this post


Link to post
Share on other sites
vaise

I am wanting to try this out - saw the place to add the m3u file to emby, saw the place to add the xml guide data to emby - but the wife is worried I will stuff something and she will not get here recordings........ Am I correct in that there will be a 'cutover' once done in that emby will no longer be able to see the recordings done by nextpvr as the plugin is no longer there ?  I have a large investment (3 of the old HDHD Dual's) and this method sounds real good to me.

Thanks,

Edited by vaise

Share this post


Link to post
Share on other sites
sle118

Am I correct in that there will be a 'cutover' once done in that emby will no longer be able to see the recordings done by nextpvr as the plugin is no longer there ?  I have a large investment (3 of the old HDHD Dual's) and this method sounds real good to me.

Thanks,

 

After a few weeks of this, I reverted back to using NextPVR as the m3u wrapper currently only exposes a single one of the tuners. There is an active thread on the subject here http://forums.nextpvr.com/showthread.php?58844-Expose-a-m3u-channels-playlist

 

So until this is resolved, or until someone comes up It would be nice if someone came up with a native plugin for Emby (@@x-cimo ?), I would not recommend doing the big jump for now.

 

That being said, and once the biggest issue is resolved,

you could actually do a phase-in approach to this:

  • Start by "sacrificing" only one of the HDHR dual to Emby as a starting point, program shows in parallel to NextPVR (you'll get duplicates for a time) to get a feel of how NextPVR works.  
  • Backup your collection (get a cheap 4TB drive and fill it!)
  • Add a new Library to Emby, call it something like "NextPVR Recordings" or something
  • Have Emby index the content and identify series, etc as needed

Having Emby see your previous recordings will allow you to safely uninstall the plugin at some point.

 

I have written a proxy in C (currently only for windows), I just need to start it with my server running emby. Its been pretty flawless so far.

This is really interesting; is the code available on GitHub or somewhere else for others to try? I am guessing that you teasing us on this thread means you're likely to share at some point  ;)

 

EDIT: Some good news!  See my next post.

Edited by sle118

Share this post


Link to post
Share on other sites
sle118

All of a sudden, things took a different turn this morning.  I have followed up on the NextPVR thread, and it would seem like exposing 2 m3u with suffixes added to the URL works pretty well!

 

So M3U file currently has this format

 

#EXTINF:0, 2.1 - CBFT-DT

 

The trick will be to amend the URLs from the M3U and host 2 files somewhere so that I can feed Emby with 2 tuner M3U files

 

File #1

#EXTINF:0, 2.1 - CBFT-DT
 
File #2
#EXTINF:0, 2.1 - CBFT-DT
 
and voila!  I can try recording from Emby once again and benefit from the auto-transcode, etc
 
@@Luke, is there any way to expose some sort properties for each m3u tuner which would allow regex manipulation of the final URL or something?  Or if regex is too risky for the mere mortal (e.g. typical users), maybe a suffix would be enough. At least this would cover my use case and maybe become an incentive for others with older hardware to invest in Emby premium (to get added benefits of LiveTV) rather than invest in new hardware.
 
Thank you!

Share this post


Link to post
Share on other sites
Luke

That sounds a little too use-case specific. I am not quite sure what the original problem is.

Share this post


Link to post
Share on other sites
sle118

That sounds a little too use-case specific. I am not quite sure what the original problem is.

 

The issue is that the m3u file created by NextPVR isn't crafted with "client=xxx" at the end, which means we can't use all the tuners that are available in NextPVR.  Here is my workaround, for the record, since I agree with you that it may not be necessary to add a new feature.

 

- Download the m3u from NextPVR

- Manually edit the file and add &client=1 to the end of the url

- Save the file as "channels_client1"

- Load into Emby

- Replace "client=1" by "client=2"

- Save the file as "channels_client2"

- Load into Emby

- etc for as many tuners as are available in NextPVR

 

I have tested up to 3 simultaneous streams (2 from my trusty HDHR3-US and one USB device hooked up to a cable box) with success.  

 

Not being able to setup the channel listing in Emby is really minor, as channel lineup updates really aren't very frequent anyhow.

 

thank you!

Share this post


Link to post
Share on other sites
Luke

This is a network tuner? we may just look at supporting it ourselves directly instead.

Share this post


Link to post
Share on other sites
sle118

This is a network tuner? we may just look at supporting it ourselves directly instead.

 

Yes, this is the non DLNA version of the SiliconDust line, which was very popular at the time.  It doesn't support hardware transcoding and doesn't behave like a DLNA device.  I have been successfully using it through NextPVR, which is acting as the proxy that sends low level commands and gets the stream. If you could add native support, I'm sure many folks would be happy. 

 

Their development guide shows a couple of potential methods to integrate, using low level libraries or using command line tools.

https://www.silicondust.com/hdhomerun/hdhomerun_development.pdf

Share this post


Link to post
Share on other sites
x-cimo

I am planning the release the tool, but I have to do some work to respect Silicondust library licensing. (LGPL). 

 

Are you running on windows? I could share it just for testing, and not for sharing with other people.

 

For luke "This is a network tuner? we may just look at supporting it ourselves directly instead."

 

HDHR3 stream UDP, there is a simple protocol, and it start to UDP stream to you. It could be implemented in emby, somewhat easily.

  • Like 1

Share this post


Link to post
Share on other sites
sle118

Are you running on windows? I could share it just for testing, and not for sharing with other people.

I have all the platforms, from the Arduino/ESP8266, Linux, arm Linux, Windows XP (limited), Windows 7, Windows 8 and 10, Android and so on. I have decades of C experience behind me, although I'm a little rusted now outside of embedded C.

 

I have been waiting for someone to get the ball rolling while I was too busy creating an open source library for a network driven Infrared bridge... See https://github.com/sle118/ESPITachEmulator if interested!

 

In short, bring it on!

Share this post


Link to post
Share on other sites
vaise

Wow - it sounds like the noises being made are the Emby may support the old network HDHR Dual tuners (of which I have three - so 6 tuners).  Im not going to upgrade that hardware as its quite an investment, but if Emby could read the direct streams from the silicon dust driver, then nextPVR is defunct, and no plugin.  Nirvana for me.  Im happy to help help in any way I can (as a tester, not a developer).  

Share this post


Link to post
Share on other sites
Luke

Thanks for the feedback !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...