PMSEncoder Killing UMS

For help and support with Universal Media Server
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

PMSEncoder Killing UMS

Post by torz77 »

Hola!

So I have recently moved to UMS from PS3 Media Server, but I cannot, for the life of me, get PMSEncoder to work without it terminating UMS.

I am running on a headless Ubuntu 12.04 server. Prior to this I ran PS3 Media Server under Windows 7 and had no issues whatsoever.

Without PMSEncoder in the plugins directory I can launch up UMS just fine, but as soon as I put it in it errors. Specifically:

Code: Select all

INFO  2013-08-25 01:15:23.942 [main] PMSEncoder: loading built-in log4j config file: jar:file:/usr/lib/ums/ums-2.6.5/plugins/pmsencoder-2.0.0-rc1.jar!/log4j_default.xml
INFO  2013-08-25 01:15:27.127 [main] Exception in thread "main" java.lang.VerifyError: (class: com/chocolatey/pmsencoder/PMSEncoder, method: super$4$getSubtitles signature: (Lnet/pms/io/OutputParams;)Lnet/pms/dlna/DLNAMediaSubtitle;) Illegal use of nonvirtual function call
The full debug log can be found here:
http://pastebin.com/RByaDNgA

I really miss having the ability to pass webstreams to my PS3, so any assistance would be hugely appreciated! I have spent a very long time trying to get to the bottom of this issue and I have got nowhere :/
infidel
Developer
Posts: 571
Joined: Thu Jul 12, 2012 5:37 am

Re: PMSEncoder Killing UMS

Post by infidel »

torz77 wrote:Without PMSEncoder in the plugins directory I can launch up UMS just fine, but as soon as I put it in it errors.
It's because of an incompatibility between UMS and PMS code that needs to be fixed. However, for resolving WEB.conf items UMS has a built-in interface (URLResolver) which can also do the job without pmsencoder as long as either jumpy (in unix or Windows) or channels (Windows only) are installed.
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

Re: PMSEncoder Killing UMS

Post by torz77 »

Hey Infidel.

Thanks for getting back to me so promptly. A huge help... I was completely unaware that PMSEncoder was having issues with the latest UMS builds (I'm also having issues with it on PMS, but that's another story).

Ok, so I'm almost there... but I'm still having issues I'm afraid. I installed Jumpy as per your link. I used the Jumpy-0.2.8.run script. It ran ok, but spat out an error relating to XBMC. Unfortunately I have foolishly deleted that. I have since re-run the script and I think it may be to do with me installing xbmc on a headless server... either way, output is below.

I did have a slight issue in the log on launching UMS that it couldn't find py4j. Somehow the script didn't seem to install it. No bother, I put it in as per the instructions "1.3.2. Using an official release" from: http://py4j.sourceforge.net/install.html and that resolved that problem.

Now I have another issue... specifically relating to xbmc-urlresolver. The Jumpy log file says "unable to open xbmc-urlresolver".... Ok, so I figure that the error earlier probably related to this, so I go and install the latest version of XBMC (from here: http://wiki.xbmc.org/index.php?title=In ... nux#Ubuntu). But sadly that didn't fix it.

I manually download the script.module.urlresolve folder. I put it in the addons folder at usr/bin/lib/xbmc/addons as well as in the /.xbmc/addons folder for my ums user and in the /.xbms/addons folder for the default xbmc. No dice. I change permissions to make UMS user the owner... still doesn't help.... and right about now I realise I am getting no where and have no idea what I'm doing!

Unsurprisingly I am still unable to open any webstreams (my go to test are the TED streams because I know these normally work). Are you able to point me in the direction for fixing this issue. Unfortunately I am at a Google dead end. I also tried opening the New Yorker webviewer (just to test) but that didn't work. I figure that this is probably related to the same problem though.

Jumpy Log:
http://pastebin.com/WG5U8r9z

Jumpy setup Log (re-run to capture xbmc error):
http://pastebin.com/dhmGZkqA

Thanks for your help... and sorry for being such an Ubuntu noob!
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

Re: PMSEncoder Killing UMS

Post by torz77 »

And I've also now tried putting it into /usr/share/xbmc/addons but still no luck. So now I am all out of ideas.
infidel
Developer
Posts: 571
Joined: Thu Jul 12, 2012 5:37 am

Re: PMSEncoder Killing UMS

Post by infidel »

torz77 wrote:Jumpy log file says "unable to open xbmc-urlresolver".... Ok, so I figure that the error earlier probably related to this, so I go and install the latest version of XBMC
The problem is that there are missing dependencies in your xbmc addon installation.
  • Since addon management is much saner from the xbmc gui, the best way to deal with this on a headless server is to install xbmc and any addons on another (un-headless :)) computer on your network, then copy (or better yet rsync) its ~/.xbmc folder to your server (at /home/ums/.xbmc in your case). I think this would probably work even if you copied the xbmc user folder from a Windows install.
  • You should leave your headless xbmc system folder (/usr/share/xbmc) in place, but you can get rid of the rest of the package if you wish.
Try it, if you have problems there are other workarounds too.
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

Re: PMSEncoder Killing UMS

Post by torz77 »

Mate you're a legend... we're so almost there, it's unreal!

So, I've got everything across from an install on windows. Webreader now works. I can stream the France24 feed in the WEB.conf file, so far so good.

The TED streams don't work though (not too fussed, but like I say they're my default test feeds).

The other thing I can't get to work is streaming from VLC on my PC (for parsing web streams to the PS3 through my PC). I'm testing it with local files but it won't play.

I know it does work, because I can get this to work with MediaTomb, although I am having issues with sound there. However I just get Media Server Error: A network error has occured. (80710723). Also, passing Sopcast streams. Again, MediaTomb will play these (http://mypcinternalIP:8092/tv.mpeg)

Again, jumpy.log and debug.log are attached.

http://pastebin.com/k08tjEjk
http://pastebin.com/5MytrM8r

My entries in WEB.conf:
videostream.Web,TV=Sopcast,http://192.168.1.128:8092/tv.mpeg
videostream.Web,TV=VLC Output,http://192.168.1.128:19876/stream.mpeg

I've tried outputting from VLC both with no transcoding and with Video - MPEG-2 + MPGA (TS) and can't get it to work...

EDIT: Actually, I can get it to work with RTSP rather than HTTP. It would be nice to get HTTP to work though as I'm currently having to pass my sopcast streams through VLC, and ideally I'd like to just point the WEB.conf straight at sopcast and go from there...

Either way, this now works, so thanks a lot... you have been a massive help and keep up the great work!!
infidel
Developer
Posts: 571
Joined: Thu Jul 12, 2012 5:37 am

Re: PMSEncoder Killing UMS

Post by infidel »

torz77 wrote:Either way, this now works, so thanks a lot...
You're welcome :). A few practical points to maybe bypass unnecessary rabbit hole adventures:
  • There are countless other xbmc addons you may want to look into.
  • Your ffmpeg doesn't appear to support rtmp, so use the UMS ffmpeg binary instead (EDIT: no, see here instead).
  • Since you're using UMS 2.6.5, you can still use the latest compatible version of pmsencoder (1.6.2).
    • To get it to play nicely with ffmpeg web video see here and here.
    • You can fine-tune which urls are skipped by ffmpeg web video (and therefore fall through to pmsencoder) by blacklisting them using ffmpeg.webfilter rules (example here).
Sopcast I've never tried so no specific advice there, but afaict it should work in theory with ffmpeg web video. Set logging to TRACE to see what actually transpires transcoding-wise.
Last edited by infidel on Thu Aug 29, 2013 7:07 am, edited 2 times in total.
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

Re: PMSEncoder Killing UMS

Post by torz77 »

Thanks again for all your help and advice. I'll look into the other add-ons and ffmpeg encoding in the future. Right now I'm all Linux tweaking-ed out so will leave it for now... it works and that's the main thing. I'll look to cut out the VLC middle-man in the future.
torz77
Posts: 7
Joined: Sun Aug 25, 2013 11:35 am

Re: PMSEncoder Killing UMS

Post by torz77 »

infidel wrote:
  • Your ffmpeg doesn't appear to support rtmp, so use the UMS ffmpeg binary instead (which does).
Sopcast I've never tried so no specific advice there, but afaict it should work in theory with ffmpeg web video. Set logging to TRACE to see what actually transpires transcoding-wise.
A couple of quick questions.... to use the UMS ffmpeg binary, I just need to set:

Code: Select all

# Path to ffmpeg (absolute or relative from project.binaries.dir)
# Default:
#     Win: win32/ffmpeg.exe
#     Mac: osx/ffmpeg
#     Linux: ffmpeg + system PATH
ffmpeg_path = /usr/lib/usm/usm-2.6.5/ffmpeg
right? Seems to break my streaming and doesn't fix the TED video issues.

I'm looking to set logging to TRACE, but I don't have a GUI and there is no option for it in UMS.conf. Do you know what I should be setting in the .conf file?
Scratch that. The setting is located in logback.headless.xml.

Also, is it possible that it's pointing to rtmpdump in the wrong place? The line in UMS.conf is:

Code: Select all

rtmpdump.path = rtmpdump
On my system, rtmpdump is located in
/usr/bin/rtmpdump
and
/usr/share/doc/rtmpdump

Thanks!
infidel
Developer
Posts: 571
Joined: Thu Jul 12, 2012 5:37 am

Re: PMSEncoder Killing UMS

Post by infidel »

You've probably figured it all out by now, but just for the record:
torz77 wrote:I just need to set:

Code: Select all

    ffmpeg_path = /usr/lib/ums/ums-2.6.5/ffmpeg
right?
Shouldn't be necessary if ffmpeg is in the top UMS folder, but can't hurt.
torz77 wrote:Scratch that. The setting is located in logback.headless.xml
Sorry about that (note to self: think before you link :)).
torz77 wrote:Also, is it possible that it's pointing to rtmpdump in the wrong place? The line in UMS.conf is:

Code: Select all

    rtmpdump.path = rtmpdump
On my system, rtmpdump is located in
/usr/bin/rtmpdump
Should be OK too.
Post Reply