UMS on Ubuntu 24.10

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
aemondis
Posts: 6
Joined: Sat Mar 15, 2025 1:30 am

UMS on Ubuntu 24.10

Post by aemondis »

Hi everyone, new member but long-time UMS user here. I made the switch to Ubuntu more than a year ago, but have been having nothing but issues with UMS - mainly in relation to transcoding. What probably doesn't help, is it is a Nvidia RTX 4070 - and Nvidia has traditionally been against "Open" software drivers.

Has anyone managed to get UMS transcoding to work at all on Linux? It's straightforward on Windows and largely automatic - but on Linux, I have tried many things and can't get it operating with anywhere near reliability - especially the ability to resume.

From my research, it seems:
1. Install Nvidia drivers using "Additional Drivers" feature in Ubuntu
2. Install Nvidia CUDA toolkit
3. Compile ffmpeg from source with the relevant Nvidia flags
4. Replace the ffmpeg binary in the UMS folder
5. Enable HW acceleration config in UMS

Even with all the above, transcoding fails on resume 100% of the time, with no specific errors. I don't have log files due to long ago giving up getting UMS running on Linux, but thought I might give this a crack again.

Anyone been successful in getting this to work?
User avatar
mik_s
Moderator
Posts: 1430
Joined: Wed Aug 23, 2017 11:03 pm
Location: UK

Re: UMS on Ubuntu 24.10

Post by mik_s »

I know next to nothing about Linux so can't help you much with setting up drivers etc. @boss is the Linux guy.

If you post your logs (see the section in red above) I could check and see if it gives any clues on why it it is not working.

Did you set it the GPU encoding acceleration method?
Screenshot 2025-03-04 163538.png
Screenshot 2025-03-04 163538.png (49.13 KiB) Viewed 1745 times
Screenshot 2025-03-04 171257.png
Screenshot 2025-03-04 171257.png (20.3 KiB) Viewed 1745 times
Logs are important for us to help, Please follow This Link before asking for support. Just a forum cleaner, Will help if I can but no expert.
boss
Posts: 399
Joined: Thu Jun 30, 2016 1:07 pm

Re: UMS on Ubuntu 24.10

Post by boss »

I have been using UMS on a Gentoo Linux system for many years and it works fine.
In a standard linux install, UMS does not use ffmpeg in the UMS folder but uses the linux system ffmpeg.

In UMS.conf, see:

Code: Select all

# Path to ffmpeg (absolute or relative from project.binaries.dir)
# Example: /usr/bin/ffmpeg
# Default:
#     Win: win32/ffmpeg.exe
#     Mac: osx/ffmpeg
#     Linux: ffmpeg + system PATH
ffmpeg_path =
You could change that to use the ffmpeg supplied with UMS by adding the UMS supplied ffmpeg path to: ffmpeg_path =

If you want to confirm if UMS is using your server ffmpeg or the UMS supplied ffmpeg, you can view your UMS log file and look at this:

Code: Select all

DEBUG 2025-03-15 09:22:04.981 [main] Starting /usr/bin/ffmpeg -hwaccels
DEBUG 2025-03-15 09:22:04.982 [main] Process ID (/usr/bin/ffmpeg): 21491
Also in the UMS log file, you will see the entry (it will probably be much longer as I just pasted a few lines:

Code: Select all

[ffmpeg-1-2]   configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/share/doc/ffmpeg-6.1.2/html --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --nm=i686-pc-linux-gnu-nm --strip=i686-pc-linux-gnu-strip --ranlib=i686-pc-linux-gnu-ranlib --pkg-config=i686-pc-linux-gnu-pkg-config --optflags='-O2 -march=i686 -pipe -fomit-frame-pointer' --disable-static --disable-libaribcaption --enable-avfilter --disable-strip
Or better still, upload your log file here.

Have you tried: Keeping the UMS ffmpeg unmodified and then editing UMS.conf so that UMS uses the UMS supplied ffmpeg.
In UMS.conf add the UMS supplied ffmpeg path to this: ffmpeg_path =

This is a copy of my ffmpeg. You could also check your ffmpeg and make sure all the flags are enabled. You may not need them all for UMS but I know my configuration works.

Code: Select all

satan ~ # ffmpeg
ffmpeg version 6.1.2 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 14 (Gentoo 14.2.1_p20241116 p3)
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/share/doc/ffmpeg-6.1.2/html --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --nm=i686-pc-linux-gnu-nm --strip=i686-pc-linux-gnu-strip --ranlib=i686-pc-linux-gnu-ranlib --pkg-config=i686-pc-linux-gnu-pkg-config --optflags='-O2 -march=i686 -pipe -fomit-frame-pointer' --disable-static --disable-libaribcaption --enable-avfilter --disable-stripping --disable-optimizations --disable-libcelt --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=oss --disable-indev=jack --disable-indev=sndio --disable-outdev=oss --disable-outdev=sndio --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt --enable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables --enable-iconv --disable-libxml2 --disable-lzma --enable-network --disable-opencl --disable-openssl --enable-postproc --disable-libsmbclient --disable-ffplay --disable-sdl2 --disable-vaapi --disable-vdpau --disable-vulkan --disable-xlib --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-opengl --disable-libv4l2 --disable-libpulse --disable-libdrm --disable-libjack --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libcodec2 --enable-libdav1d --disable-libfdk-aac --disable-libopenjpeg --disable-libjxl --disable-libbluray --disable-libgme --disable-libgsm --disable-libaribb24 --disable-libmodplug --disable-libopus --disable-libvpl --disable-libilbc --disable-librtmp --disable-libssh --disable-libspeex --disable-libsrt --disable-librsvg --disable-ffnvcodec --disable-libvorbis --disable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint --disable-cuda-llvm --disable-libflite --disable-fontconfig --disable-frei0r --disable-libfribidi --disable-libglslang --disable-ladspa --disable-lcms2 --disable-libass --disable-libplacebo --disable-libtesseract --disable-lv2 --disable-librubberband --disable-libshaderc --disable-libfreetype --disable-libharfbuzz --disable-libvidstab --disable-libvmaf --disable-libzmq --disable-libzimg --disable-libsoxr --enable-pthreads --disable-amf --disable-libvo-amrwbenc --disable-libkvazaar --disable-libaom --enable-libmp3lame --disable-libopenh264 --disable-librav1e --disable-libsnappy --disable-libsvtav1 --disable-libtheora --disable-libtwolame --disable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8 --disable-dotprod --disable-i8mm --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-vsx --disable-power8 --disable-amd3dnow --disable-amd3dnowext --disable-fma4 --disable-xop --enable-pic --disable-asm --cpu=i686 --disable-doc --disable-htmlpages --enable-manpages
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Hyper fast Audio and Video encoder
aemondis
Posts: 6
Joined: Sat Mar 15, 2025 1:30 am

Re: UMS on Ubuntu 24.10

Post by aemondis »

Thanks all for the replies, and glad to see at least someone has it working. All hope is not lost! @boss Is your GPU Nvidia or AMD?

I couldn't put all the detail I had hoped into this reply as it kept being marked as spam frustratingly. The log files have it all though.

Have just gone through the complete "refresh" of UMS on my machine (and upgrade to UMS 14.10.1) to revert to a fresh configuration, with only a basic initial config applied.
As usual, ffmpeg fails to execute in the out-of-box config . I have attached the debug output from the trace.
_ums_dbg_2025-03-17-00-04.zip
Trace Logs
(43.39 KiB) Downloaded 148 times
mik_s wrote: Sat Mar 15, 2025 11:31 am Did you set it the GPU encoding acceleration method?
I believe I have set this correctly? Refer to below attachments:
Common settings
Common settings
Screenshot From 2025-03-17 00-12-44.png (162.13 KiB) Viewed 1692 times
ffmpeg settings
ffmpeg settings
Screenshot From 2025-03-17 00-13-47.png (136.86 KiB) Viewed 1692 times
boss wrote: Sat Mar 15, 2025 1:52 pm confirm if UMS is using your server ffmpeg or the UMS supplied ffmpeg...
It is using the system supplied version it appears, an Ubuntu-compiled version slightly older than your version.

Just after this, I see mention of supported HW methods including cuda (which I believe is the method used in linux for hwaccel) - so at least the config seems to suggest it is available?

ffmpeg and tsmuxer seem to be terminating and relaunching repeatedly upon trying to play the video too (I am testing with big buck bunny 2160p) - but the video never launches on the device (my Android mobile in this case, playing via bubbleUPNP and MX Player. VLC is no different, but is very clunky to use so I avoid it usually).
User avatar
mik_s
Moderator
Posts: 1430
Joined: Wed Aug 23, 2017 11:03 pm
Location: UK

Re: UMS on Ubuntu 24.10

Post by mik_s »

Your FFmpeg is working correctly and is able to use the GPU.

Code: Select all

net.pms.io.OutputTextLogger   configuration: --prefix=/usr --extra-version=3ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
net.pms.io.OutputTextLogger   libavutil      59.  8.100 / 59.  8.100
net.pms.io.OutputTextLogger   libavcodec     61.  3.100 / 61.  3.100
net.pms.io.OutputTextLogger   libavformat    61.  1.100 / 61.  1.100
net.pms.io.OutputTextLogger   libavdevice    61.  1.100 / 61.  1.100
net.pms.io.OutputTextLogger   libavfilter    10.  1.100 / 10.  1.100
net.pms.io.OutputTextLogger   libswscale      8.  1.100 /  8.  1.100
net.pms.io.OutputTextLogger   libswresample   5.  1.100 /  5.  1.100
net.pms.io.OutputTextLogger   libpostproc    58.  1.100 / 58.  1.100
net.pms.io.OutputTextConsumer Hardware acceleration methods:
net.pms.io.OutputTextConsumer vdpau
net.pms.io.OutputTextConsumer cuda
net.pms.io.OutputTextConsumer vaapi
net.pms.io.OutputTextConsumer qsv
net.pms.io.OutputTextConsumer drm
net.pms.io.OutputTextConsumer opencl
net.pms.io.OutputTextConsumer vulkan
I think the reason why it is not being used is that the Google-Android-BubbleUPnP-MXPlayer.conf has not set a transcoding profile so it is using the default (MPEGPS-MPEG2-AC3)
Some of the GPU will be used by FFmpeg but if it was encoding to h264 or h265 then the GPU has dedicated HW for this.
That conf is very old as it was written for UMS V5.2.3 and android 5.1.1 going from the notes in that conf.
If you add this to the conf it should use the GPU properly.

Code: Select all

TranscodeVideo = MPEGTS-H264-AC3 
I'm assuming BubbleUPnP/MXplayer supports this now.

That video may not need to be transcoded at all, the only reason why it is transcoding is the resolution has not been set in the conf so anything over 1080p is transcoded.

Code: Select all

net.pms.configuration.RendererConfiguration Resolution 3840x4320 is too high for this renderer, which supports up to 1920x1080
You can set this by adding

Code: Select all

MaxVideoWidth = 3840
MaxVideoHeight = 2160
although that video is in a strange resolution to normal 4K so may actually need to be transcoded.
It may also be able to play h265 depending on the device so this may need to be added to the supported formats.

Normally I would say try playing from the #--TRANSCODE--# folder and select "no transcoding" to see if it is able to be streamed, but there is a bug in 14.10.1 where this folder is empty. This has been fixed in 14.11.0
You could disable all transcoding in the settings in the meantime for testing but will be a bit of a pain to keep changing it for each video to see if it works, or you could go back a few versions before this bug crept in.


Another reason why it is not playing at all is there are some exception errors where the duration is negative

Code: Select all

TRACE 2025-03-17 00:04:09.258 [jupnp-stream-server-112] net.pms.network.HttpServletHelper Received a request from BubbleUPnP (192.168.50.10:59544):
============================= MEDIA HTTP SERVER REQUEST BEGIN ================================
GET /ums/media/b3688e82-2c9e-3a0e-9f32-a0f2987d7139/196/bbb_sunflower_2160p_30fps_stereo_abl.mp4_transcoded_to.mpg HTTP/1.1

HEADER:
  User-Agent: MXPlayer/1.86.0 (Linux; Android 14; en-AU; SM-S908E Build/UP1A.231005.007.S908EXXSCEYB1)
  Accept: */*
  Range: bytes=9223372034707292147-
  Connection: close
  Host: 192.168.100.102:50011
  Icy-MetaData: 1
============================= MEDIA HTTP SERVER REQUEST END ==================================
TRACE 2025-03-17 00:04:09.259 [jupnp-stream-server-112] net.pms.store.StoreItem Asked stream chunk: ByteRange [start=9223372034707292147, end=9223372034707292158] of bbb_sunflower_2160p_30fps_stereo_abl.mp4 and engine FFmpeg Video (MPEGPS-MPEG2-AC3)
...

...
TRACE 2025-03-17 00:04:09.260 [jupnp-stream-server-112] net.pms.network.mediaserver.servlets.MediaServerServlet Sending 12 bytes.
TRACE 2025-03-17 00:04:09.261 [jupnp-stream-server-112] net.pms.network.HttpServletHelper Transfer response sent to BubbleUPnP (192.168.50.10:59544):
============================= MEDIA HTTP SERVER RESPONSE BEGIN ===============================
HTTP/1.1 206 (non-chunked)

HEADER:
  Server: Linux-amd64-6.11.0-19-generic, UPnP/1.0 DLNADOC/1.50, UMS/14.10.1
  Date: Sun, 16 Mar 2025 13:04:09 GMT
  Content-Type: video/mpeg
  Content-Range: bytes 9223372034707292147-9223372034707292158/9223372034707292159
  Accept-Ranges: bytes
  Connection: keep-alive
  Content-Length: 12
============================= MEDIA HTTP SERVER RESPONSE END =================================
TRACE 2025-03-17 00:04:09.261 [jupnp-stream-server-112] net.pms.io.BufferedOutputFileImpl Suspend Read: readCount=9223372034707292147 / writeCount=1425408
INFO  2025-03-17 00:04:09.741 [Thread-66] net.pms.util.SystemErrWrapper Exception in thread "Thread-66" java.lang.IllegalArgumentException: durationMillis must not be negative
INFO  2025-03-17 00:04:09.742 [Thread-66] net.pms.util.SystemErrWrapper 	at org.apache.commons.lang3.Validate.inclusiveBetween(Validate.java:337)
INFO  2025-03-17 00:04:09.742 [Thread-66] net.pms.util.SystemErrWrapper 	at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:358)
INFO  2025-03-17 00:04:09.742 [Thread-66] net.pms.util.SystemErrWrapper 	at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:341)
INFO  2025-03-17 00:04:09.742 [Thread-66] net.pms.util.SystemErrWrapper 	at net.pms.renderers.devices.players.PlayerState.setPosition(PlayerState.java:100)
INFO  2025-03-17 00:04:09.743 [Thread-66] net.pms.util.SystemErrWrapper 	at net.pms.renderers.devices.players.PlaybackTimer.lambda$start$0(PlaybackTimer.java:54)
INFO  2025-03-17 00:04:09.743 [Thread-66] net.pms.util.SystemErrWrapper 	at java.base/java.lang.Thread.run(Unknown Source)
TRACE 2025-03-17 00:04:16.762 [jupnp-stream-server-112] net.pms.io.BufferedOutputFileImpl Resume Read: readCount=9223372034707292147 / writeCount=203001856
DEBUG 2025-03-17 00:04:16.763 [jupnp-stream-server-112] net.pms.network.HttpServletHelper Sending stream with premature end: 0 bytes. Reason: written 32768 > 12 content-length
TRACE 2025-03-17 00:04:16.763 [jupnp-stream-server-112] net.pms.network.UmsAsyncListener Stream Async Premature end: written 32768 > 12 content-length, duration: 7502 ms
TRACE 2025-03-17 00:04:16.764 [jupnp-stream-server-112] net.pms.io.ProcessWrapperImpl Ready to Stop: true
TRACE 2025-03-17 00:04:16.764 [jupnp-stream-server-112] net.pms.network.UmsAsyncListener Stream Async Complete, uri: /ums/media/b3688e82-2c9e-3a0e-9f32-a0f2987d7139/196/bbb_sunflower_2160p_30fps_stereo_abl.mp4_transcoded_to.mpg, duration: 7503 ms
WARN  2025-03-17 00:04:16.765 [jupnp-stream-server-112] org.eclipse.jetty.server.Response writeError: status=500, message=java.io.IOException: content-length 12 != 0 written, response=ErrorResponse@6c34bb14{500,GET@986df07 http://192.168.100.102:50011/ums/media/b3688e82-2c9e-3a0e-9f32-a0f2987d7139/196/bbb_sunflower_2160p_30fps_stereo_abl.mp4_transcoded_to.mpg HTTP/1.1}
java.io.IOException: content-length 12 != 0 written
	at org.eclipse.jetty.server.internal.HttpChannelState$ChannelCallback.succeeded(HttpChannelState.java:1532)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.onCompleted(ServletChannel.java:760)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:426)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1507)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1500)
	at org.eclipse.jetty.ee10.servlet.ServletChannelState.runInContext(ServletChannelState.java:1308)
	at org.eclipse.jetty.ee10.servlet.ServletChannelState.complete(ServletChannelState.java:828)
	at org.eclipse.jetty.ee10.servlet.AsyncContextState.complete(AsyncContextState.java:61)
	at net.pms.network.HttpServletHelper.copyStream(HttpServletHelper.java:295)
	at net.pms.network.HttpServletHelper.lambda$copyStreamAsync$0(HttpServletHelper.java:305)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1507)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1500)
	at org.eclipse.jetty.ee10.servlet.AsyncContextState.lambda$start$0(AsyncContextState.java:138)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1513)
	at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.lambda$execute$0(ContextHandler.java:1530)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Unknown Source)

This is probably a bug as I have seen similar messages when playing on my PS4 after UMS changed the streaming library, but the video would still play as it would run FFmpeg again.
It may be that instead of reading this a a range between the 2 numbers

Code: Select all

  Content-Range: bytes 9223372034707292147-9223372034707292158/9223372034707292159
it is interpreting this as take one from the other which results in -11
I'll mention this on github.

Have you got any other devices to try playing on? Does the web player work properly and use the GPU?
Logs are important for us to help, Please follow This Link before asking for support. Just a forum cleaner, Will help if I can but no expert.
boss
Posts: 399
Joined: Thu Jun 30, 2016 1:07 pm

Re: UMS on Ubuntu 24.10

Post by boss »

I only run my Linux Server in headless mode and am just using the onboard GPU which is an Intel UHD Graphics 630.
aemondis
Posts: 6
Joined: Sat Mar 15, 2025 1:30 am

Re: UMS on Ubuntu 24.10

Post by aemondis »

Legendary response @mik_s! I have updated the BubbleUPNP as you have suggested, but still have errors being reported. I've attached the config file for reference:
Google-Android-BubbleUPnP-MXPlayer.conf
BubbleUPNP Config File
(13.47 KiB) Downloaded 141 times
Unfortunately, still unable to play - error code 234, also the negative duration, which makes me wonder if it is somehow involved in this issue? Looking at your comment, it seem the calculation just needs brackets...

Code: Select all

INFO  22:03:20.326 [StartPlaying Event] Started playing bbb_sunflower_2160p_30fps_stereo_abl.mp4 (FFmpeg Video) on your BubbleUPnP
INFO  22:03:21.291 [ffmpeg-3] Process /usr/bin/ffmpeg has a return code of 234! Maybe an error occurred... check the log file
INFO  22:03:22.328 [Thread-71] Exception in thread "Thread-71" java.lang.IllegalArgumentException: durationMillis must not be negative
INFO  22:03:22.328 [Thread-71] 	at org.apache.commons.lang3.Validate.inclusiveBetween(Validate.java:337)
INFO  22:03:22.328 [Thread-71] 	at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:358)
INFO  22:03:22.328 [Thread-71] 	at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:341)
INFO  22:03:22.328 [Thread-71] 	at net.pms.renderers.devices.players.PlayerState.setPosition(PlayerState.java:100)
INFO  22:03:22.328 [Thread-71] 	at net.pms.renderers.devices.players.PlaybackTimer.lambda$start$0(PlaybackTimer.java:54)
INFO  22:03:22.328 [Thread-71] 	at java.base/java.lang.Thread.run(Unknown Source)
INFO  22:03:27.019 [ffmpeg-5] Process /usr/bin/ffmpeg has a return code of 234! Maybe an error occurred... check the log file
INFO  22:03:35.646 [ffmpeg-7] Process /usr/bin/ffmpeg has a return code of 234! Maybe an error occurred... check the log file
INFO  22:03:41.295 [ffmpeg-9] Process /usr/bin/ffmpeg has a return code of 234! Maybe an error occurred... check the log file
What I find very strange, is this same config file works on Windows. No idea why the behaviour changes so much just by a switch to Linux? Looking at the FFMPEG codecs in the UMS package, I didn't see any difference between the system and the included variant - which really just leaves it to HW, which as you suggest is actually working?
mik_s wrote: Mon Mar 17, 2025 5:33 am although that video is in a strange resolution to normal 4K so may actually need to be transcoded.
I just use this video as a kinda "worst case" scenario for this exact reason, since it is in such a weird resolution and is also a little challenging due to 4K.
boss wrote: Mon Mar 17, 2025 2:20 pm I only run my Linux Server in headless mode and am just using the onboard GPU which is an Intel UHD Graphics 630.
That explains it... I've heard that both Intel and AMD are MUCH friendlier with Linux than Nvidia! I only went Nvidia due to software requirements for some of the apps I use, but issues like this are usually the result (in Linux at least).

I'll test out the web player and try on a different device, with and without transcoding (I had noticed the empty #--TRANSCODE--# folder, I thought this was just due to the video - glad to know this is a known bug that is resolved once 14.11 is out!).
aemondis
Posts: 6
Joined: Sat Mar 15, 2025 1:30 am

Re: UMS on Ubuntu 24.10

Post by aemondis »

Web player works, but seems to be using the ffmpeg HLS transcoding, so is using software transcoding on the CPU (FFMPEG HLS Video is reported in the logs, and consumes about 450% CPU during the process with 0% GPU), rendering via Firefox on Android (which is detected properly in UMS also).

I can also confirm, disabling transcoding works in this particular case (I have the codec pack installed and my test phone (Galaxy S22 Ultra) seems to have a good level of HW native decoding support, so this probably helps!). I forgot to mention, weird resolution of the video is due to it being a 3D video. I'm not playing it like this though, I just want to see transcoding work properly for formats that aren't natively supported or on other devices with less capability.

I've attached another trace with the error 234.
_ums_dbg_2025-03-17-22-34.zip
(54.42 KiB) Downloaded 138 times
boss
Posts: 399
Joined: Thu Jun 30, 2016 1:07 pm

Re: UMS on Ubuntu 24.10

Post by boss »

Did you try to configure "UMS.conf" to use ffmpeg which is included with UMS.
If not, it would be worth trying that just to check.

It would just be a matter of changing the line in "UMS.conf" from:
ffmpeg_path =
TO
ffmpeg_path = /opt/ums-14.10.1/linux/ffmpeg
** making sure that the "UMS.conf" you are editing is the one at /home/dave/.config/UMS/UMS.conf and NOT the one in /opt/ums/ums-14.10.1.

And restarting UMS.

Or I could sent you a copy of my ffmpeg (which configuration is working) for you to try
aemondis
Posts: 6
Joined: Sat Mar 15, 2025 1:30 am

Re: UMS on Ubuntu 24.10

Post by aemondis »

boss wrote: Tue Mar 18, 2025 12:28 am Did you try to configure "UMS.conf" to use ffmpeg which is included with UMS.
If not, it would be worth trying that just to check.

It would just be a matter of changing the line in "UMS.conf" from:
ffmpeg_path =
TO
ffmpeg_path = /opt/ums-14.10.1/linux/ffmpeg
** making sure that the "UMS.conf" you are editing is the one at /home/dave/.config/UMS/UMS.conf and NOT the one in /opt/ums/ums-14.10.1.

And restarting UMS.

Or I could sent you a copy of my ffmpeg (which configuration is working) for you to try
Yes, I forgot to mention - I did try that, but it also didn't work - the below is the result:

Code: Select all

ERROR 22:25:46.974 [jupnp-stream-server-106] No Hls configuration to transcode.
ERROR 22:25:52.974 [jupnp-stream-server-106] There is no inputstream to return for bbb_sunflower_2160p_30fps_stereo_abl [FFmpeg HLS Video]
Interestingly, I also tried a slightly older version of ffmpeg I compiled myself with all the nvidia headers included - and it also threw the error 234 (same as the OS version of ffmpeg) - it still makes me wonder if the hardware transcoding is somehow completely broken with this nvidia driver? It's a real headache to downgrade to an older version - but I did find a single commenter online who suggested HW acceleration might be broken driver >535 (I'm running 560 non-open driver). As I only found a single comment on that, I'm not so sure it is true however...
Post Reply