I managed to get version 0.2 working on Windows with a bit of hacking however channel scanning never worked. The new version 0.3 works great without any hacking, I can even scan channels now. The only issue with channel scanning is that it misses quite a lot of channels.
I tested deinterlacing with the new version. It doesn't seem to do a whole lot for me except for increasing my CPU usage.
I'm trying to install this on Ubuntu 12.04 with Python upgraded to 2.7.5. Unfortuantely it exits the intial HDSurferWave script because it can't import the required scripts even though they are in the same directory. Can anyone help me understand this?
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$ ls
gconfig.py hdhomerun_config libhdhomerun.py libhdswutils.py vlc.py
gconfig.pyc hdsurferwave.py libhdhomerun.pyc libhdswutils.pyc
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$ python hdsurferwave.py start
FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$
Default Python on my dev machine is 2.7.5 as well. It sounds like something trivial like a corrupt download or extract. Try deleting what you downloaded and extracted and do the entire download and extraction process again. I think I remember someone telling me they had to do that two or three times before everything extracted correctly? Weird, I know but whatever works. You can also try opening the files in a text editor after they're extracted to make sure they look like "normal" text scripts (and not garbled junk).
I managed to get version 0.2 working on Windows with a bit of hacking however channel scanning never worked. The new version 0.3 works great without any hacking, I can even scan channels now. The only issue with channel scanning is that it misses quite a lot of channels.
I tested deinterlacing with the new version. It doesn't seem to do a whole lot for me except for increasing my CPU usage.
I tried a brief test on Windows and didn't have much success so I put it on my TODO list and moved on for now... glad it's working for you!
Yea, you'll notice this little rant in the README file:
- Sometimes the initial channel scan can be unreliable and needs to be monitored by the hdhomerun_config_gui or simply manually entered into the channels.xml file.
I am looking into the issues but your mileage may vary. Please report your experience with channel scanning.
If you notice missing channels run the scan again... and again... and again... or you can enter the channel info manually
I experienced this issue at times when working on the first ALPHA version. I'm not sure if there was bad reception or if the HDHomerun was acting weird or whatever but those missing channels are not as bad recently (but I'm also not testing the channel scan code as frequently either). I even added a way to force a channel scan:
python libhdswutils.py force_channel_scan
On the deinterlacing option, I didn't activate it by default because it's a massive CPU hog to have both VLC and Plex transcoding on the fly... for me, it's not worth the trade-off but maybe someone will find it useful to be able to easily tweak the transcode settings.
Any ideas how close a Windows version of the plugin is?
Thanks
I have a lot of milestones left on my list before I setup the environment to test on the Windows platform but once I get started it shouldn't take too long. Someone mentioned in an earlier post that they had it working on Windows with a little hacking but I don't have an environment setup to test... there is a line of code at the beginning of the main script that checks if Windows is the platform and exits so you can go in and remove/comment that out and see how far you can make it on Windows. If you do that, you can post back here for others to help.
All I had to do with the new version was comment out that little bit of code and place the libhdhomerun.dll in the same directory. Getting the dll is the tricky part.
After a brief (okay, about a month long) issue after my CentOS server rebooted and the plugin just stopped working, I couldn't figure out why... I have 0.3 working, again, on CentOS 6.4.
A note - I had to comment out "--sout-ffmpeg-strict=-2" from the vlc command line in hdsurferwave.py. For whatever reason the version of vlc I have installed doesn't support it.
If anyone needs a Windows version of libhdhomerun.dll, I can provide one. I've compiled it myself (I'm a programmer by trade, Silicon Dust makes the source publicly available). The question is whether anyone wants to download a precompiled binary DLL of unknown origin from some random person on the internet.
After a brief (okay, about a month long) issue after my CentOS server rebooted and the plugin just stopped working, I couldn't figure out why... I have 0.3 working, again, on CentOS 6.4.
A note - I had to comment out "--sout-ffmpeg-strict=-2" from the vlc command line in hdsurferwave.py. For whatever reason the version of vlc I have installed doesn't support it.
If anyone needs a Windows version of libhdhomerun.dll, I can provide one. I've compiled it myself (I'm a programmer by trade, Silicon Dust makes the source publicly available). The question is whether anyone wants to download a precompiled binary DLL of unknown origin from some random person on the internet.
Great news! Thanks for the feedback. In the dev version I have already removed that flag from the default code and added an optional flag for "--sout-ffmpeg-strict=-2" as it's only required if someone is tinkering with the vlc_deinter options using codecs that are not enabled by default (as in the default vlc_deinter string).
In my brief testing with Windows I was also able to get the dll compiled and was planning to package it... I'll run a quick test on Windows again and see if I can get it working as you say and if so I'll make some small code changes so it's not as angry with Windows for the next ALPHA release. :)
Great news! Thanks for the feedback. In the dev version I have already removed that flag from the default code and added an optional flag for "--sout-ffmpeg-strict=-2" as it's only required if someone is tinkering with the vlc_deinter options using codecs that are not enabled by default (as in the default vlc_deinter string).
In my brief testing with Windows I was also able to get the dll compiled and was planning to package it... I'll run a quick test on Windows again and see if I can get it working as you say and if so I'll make some small code changes so it's not as angry with Windows for the next ALPHA release. :)
I would also suggest, since you're semi-familiar with it then, that you possibly look at compiling and use libhdhomerun.so directly with your Linux version as well. One of the reasons I even bothered to play with the library on the Windows side (I'm a Windows dev by day) is the channel scan failures as well as the lack of logic behind it (channel scan picks up things like control channels, OOB channels and unsubscribed channels on the HDHR Prime) was to see if I could possibly help make things better. I also found a few tricks using the library directly, such as finding the HDHR on the subnet without specifying the device ID or network address, and some other goodies. One thing I did notice is that every single channel scan I ran with my code/library ran completely and didn't fail. I'm not sure if this indicates an issue with the python wrapper or something else, since I was doing it from C++ code on Windows.
I'm not terribly familiar with python myself, but I'll be happy to answer any questions I can. And by no means am I (and apologies if I am) trying to muscle in on your fine work here! I definitely appreciate it, especially since I'm fairly new to Plex in general myself.
mm:~ admin$ sudo easy_install PyHdHomeRun
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-ll5kED/pyhdhomerun-2.3.4/egg-dist-tmp-b5aSTS
ERROR:root:Could not load HDHR library from [/usr/lib/libhdhomerun.so].
Traceback (most recent call last):
File "/tmp/easy_install-ll5kED/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 443, in LoadLibrary
return self._dlltype(name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/lib/libhdhomerun.so, 6): image not found
Could not load HDHomeRun library: dlopen(/usr/lib/libhdhomerun.so, 6): image not found
error: Setup script exited with 1
I'm trying to install this on Ubuntu 12.04 with Python upgraded to 2.7.5. Unfortuantely it exits the intial HDSurferWave script because it can't import the required scripts even though they are in the same directory. Can anyone help me understand this?
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$ ls
gconfig.py hdhomerun_config libhdhomerun.py libhdswutils.py vlc.py
gconfig.pyc hdsurferwave.py libhdhomerun.pyc libhdswutils.pyc
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$ python hdsurferwave.py start
FR14. Make sure libhdswutils.py and gconfig.py are in the same location as this file.
themorey@Media-NAS:~/Downloads/HDSurfer-ALPHA-0.3/HDSurferWave$
Complete python newbie here. I am seeing this exact same message on OSX 10.6.8 with Python 2.7.6. Per tip in post #82 of this thread I've tried multiple downloads and decompresson utilities to get it to work. Scripts and text look fine in a text editor.
Any other suggestions would be great. I'd love to get this working with PlexConnect.
Complete python newbie here. I am seeing this exact same message on OSX 10.6.8 with Python 2.7.6. Per tip in post #82 of this thread I've tried multiple downloads and decompresson utilities to get it to work. Scripts and text look fine in a text editor.
Any other suggestions would be great. I'd love to get this working with PlexConnect.
My problem turned out to be operator error on my part. During the HDHomeRun library install I forgot to copy the libhdhomerun.so file to /usr/lib/ as documented here:
The README files implies that you must either have the hdhomerun_config file in the same directory OR callable in your PATH. This is not strictly true as, you must, in either situation, have hdhomerun_config callable in your path. In the case of the former, your PATH must include ".". As my path does not include ".", I had to modify the script to include "./" before the hdhomerun_config executable.
magic_cmd = "./hdhomerun_config"
Other than that, though - it appears to be working just fine. Also if there was some additional error logging on that particular command it would have been easier to find. As it stood, I got no error message indicating that the hdhomerun_config command had not been able to run.
Anywho - thanks to the developer for putting this little "hack" together. I have had a non h.264 hdhomerun device for a while, and have not been able to use it to stream to.. well.. pretty much anything. I haven't yet had a chance to play with this (literally just got it working), but I am optimistic as to its usefulness.
My problem turned out to be operator error on my part. During the HDHomeRun library install I forgot to copy the libhdhomerun.so file to /usr/lib/ as documented here:
Once I copied that file it worked, or at least the Plex Plugin worked but I don't have my cable card yet.
The dreaded libhdhomerun.so file on OSX.
I'm actually having multiple issues getting this off the ground but wanted to knock them off one at a time. Is it even possible to 'make' the libhdhomerun.so file on OSX? I've tried more times than I can remember but that file is never generated. Here's what I see when I make /libhdhomerun downloaded from silicondust.
I'm a newbie but can usually follow directions to figure out the solution. Most of this stuff is well discussed elsewhere. Unfortunately, Google isn't helping me figure this out.
To my limited brain, libhdhomerun.dylib seems like the closest candidate. No idea what it is exactly but transferring (copying) it to usr/lib/ or renaming it as 'libhdhomerun.so' and copying it to usr/lib/ have all been tried multiple times and all have failed. Trying to install PyHdHomerun always runs into the error that libhdhomerun.so is missing from /usr/lib/.
I also tried Rock Star's linking trick on post 5 but that was also a fail.
Am prepared to step away for a few days and have another run at it later - or maybe wait for the next release and do a fresh reinstall.
Firstly, great work on this plugin. I finally was able to install and setup.. with some quirks.. here are my results.
PMS running on OSX Mavericks w/ latest VLC.
1) Can stream from local machine.. http://127.0.0.1/.... no problems, working very well.
2) Uncommenting the deinterlacing line - still works but no audio. Seems like VLC transcodes w/out audio. Missing mp4a codec???
3) Streaming from another machine (another laptop or ipad) by hitting my server IP: 192.168.1.100:32400/web.... streams start, see the first frame and then never plays.
4) Uncommenting the deinterlacing line does not work with ipads.
Anyone else experience the same? I would love to be able to stream TV for my other devices instead of localhost.
Can also provide some log files or further testing.. i'm still learning about all this great stuff!
Found a solution for no audio for VLC transcoding..
If you are using VLC 2.1.X+ (on MAC at least) the --sout-ffmpeg-strict=-2 option has been replaced with --sout-avcodec-strict=-2... you may have to make that change in line 53 in the hdwavesurfer.py file.
The README files implies that you must either have the hdhomerun_config file in the same directory OR callable in your PATH. This is not strictly true as, you must, in either situation, have hdhomerun_config callable in your path. In the case of the former, your PATH must include ".". As my path does not include ".", I had to modify the script to include "./" before the hdhomerun_config executable.
magic_cmd = "./hdhomerun_config"
Other than that, though - it appears to be working just fine. Also if there was some additional error logging on that particular command it would have been easier to find. As it stood, I got no error message indicating that the hdhomerun_config command had not been able to run.
Anywho - thanks to the developer for putting this little "hack" together. I have had a non h.264 hdhomerun device for a while, and have not been able to use it to stream to.. well.. pretty much anything. I haven't yet had a chance to play with this (literally just got it working), but I am optimistic as to its usefulness.
Thanks again!
Thanks for the feedback and you're correct about the fix for the path. Hopefully soon I'll be able to tie things into a library so we can remove those unreliable calls. Also, I have it on my todo to add more error logging for 'critical' functions instead of silently failing.
Found a solution for no audio for VLC transcoding..
If you are using VLC 2.1.X+ (on MAC at least) the --sout-ffmpeg-strict=-2 option has been replaced with --sout-avcodec-strict=-2... you may have to make that change in line 53 in the hdwavesurfer.py file.
Thanks for catching that. I'll add a default line for that after some more testing. There might be something in the library that we can call instead of sending the static flag. It's now on my todo list.
Did you ever get the streams working to machines other than localhost?
Hello. Today was my first foray into plex, and I must say, I am impressed. I got your plug-in working, and again, I am impressed.
The only thing I have not been able to get to work is pushing this to a chromecast. I know that the chromecast support is incredibly new, and this is an alpha version, so this is to be expected, but I thought I might ask around to see if there were any obvious reasons this may be before delving too deep into this.