Page 1 of 1

[Solved] help with HTTP ERROR (500)

Posted: Sun Oct 06, 2024 1:32 am
by Nothsor
Hello,
I was wondering if anyone can help me with the above error? I recently tried to stream webm videos from my PC to my TV via a PS3 and get the abpve error. I tried reading some of the posts tat mention the error but most seem greek to me and if I search WEBM i saw one reference to a codec (I think it began with an X) that I thought was installed but still no luck. I have another app installed that does stream the wbm files to my TV, but I would prefer top stay with UMS. Up until this point it has been a lot easier to use than the other app.

TIA

Re: help with HTTP ERROR (500)

Posted: Sun Oct 06, 2024 6:48 am
by mik_s
Where do you see that error?
Could you post your logs (see the section in red above)

Re: help with HTTP ERROR (500)

Posted: Sun Oct 06, 2024 7:06 am
by Nothsor
Sorry. The error seems to occur once a try to stream the file to my TV. Hopefully I attached the proper data.

Re: help with HTTP ERROR (500)

Posted: Sun Oct 06, 2024 1:36 pm
by mik_s
The logs were not in trace mode so It does not show everything, but I did see an exception relating to no audio in the file.
Is there an audio stream in this video?

Code: Select all

/ums/media/af271cd8-7e8c-3f5d-b770-fca2b0dfc621/500839/**********.webm_transcoded_to.mpg
java.lang.NullPointerException: Cannot invoke "net.pms.media.audio.MediaAudio.getCodec()" because "audio" is null
	at net.pms.configuration.RendererConfiguration.isAudioStreamTypeSupportedInTranscodingContainer(RendererConfiguration.java:522)
	at net.pms.encoders.FFMpegVideo.getVideoTranscodeOptions(FFMpegVideo.java:404)
	at net.pms.encoders.FFMpegVideo.launchTranscode(FFMpegVideo.java:1208)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:902)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:764)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.sendMediaResponse(MediaServerServlet.java:439)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGetHead(MediaServerServlet.java:161)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGet(MediaServerServlet.java:85)
	at jakarta.servlet.http.HttpServlet.doHead(HttpServlet.java:221)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:544)
	at net.pms.network.mediaserver.servlets.MediaServerHttpServlet.service(MediaServerHttpServlet.java:35)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
	at org.eclipse.jetty.server.Server.handle(Server.java:181)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661)
	at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
	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)
I replaced the filename with ********** and will remove those logs for privacy.

Could you redo the logs and make sure it is in trace mode so I can see more info about the error and what the transcoding command is.
I suggest only sharing a small folder and rename the test file, just in case.
It would be better to not use your download folder as a shared folder either as partial downloads and non media files will slow down scanning and have been known to cause crashes on rare occasions.

You could also test using the other transcoding engines, try playing from the #--TRANSCODE--# folder and choose see if any of the options work.
(if you do not see it, enable "show the #--Transcode--# folder" in the GUI on the navigation tab, in the web GUI it is in the "virtual folders/files" section)

Re: help with HTTP ERROR (500)

Posted: Sun Oct 06, 2024 4:27 pm
by mik_s
I was able to replicate this on the PS4 using some sample videos.

This video of a street (51 Mb) plays fine with audio.
This video of the earth (3.7 MB) plays with no audio but does have an audio track, it is just silent.
This Big Buck Bunny (1920 x 1080 30Mb) video fails to play as it has no audio track.

Code: Select all

Starting transcode/remux of Big_Buck_Bunny_1080_10s_30MB.webm with media info: Container: WEBM, Size: 31479257, Overall Bitrate: 25183406, File Title from Metadata: Big Buck Bunny, Sunflower version, Duration: 0:00:10.000, Video Tracks: 1 [Video Id: 0, Codec: vp8, Stream Order: 0, Duration: 0:00:10.000, Resolution: 1920 x 1080, Display Aspect Ratio: 16:9, Frame Rate: 30.0], DLNAThumbnail: [Format = JPEG, Resolution = 320×180, Size = 15794, DLNA Profile = JPEG_RES_320_180], Mime Type: video/webm

Code: Select all

/ums/media/0c9aa9fd-d117-363c-bffe-c20c14178780/34400/Big_Buck_Bunny_1080_10s_30MB.webm_transcoded_to.ts
java.lang.NullPointerException: Cannot invoke "net.pms.media.audio.MediaAudio.getCodec()" because "audio" is null
	at net.pms.configuration.RendererConfiguration.isAudioStreamTypeSupportedInTranscodingContainer(RendererConfiguration.java:522)
	at net.pms.encoders.FFMpegVideo.getVideoTranscodeOptions(FFMpegVideo.java:404)
	at net.pms.encoders.FFMpegVideo.launchTranscode(FFMpegVideo.java:1208)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:902)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:764)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.sendMediaResponse(MediaServerServlet.java:439)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGetHead(MediaServerServlet.java:161)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGet(MediaServerServlet.java:85)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
	at net.pms.network.mediaserver.servlets.MediaServerHttpServlet.service(MediaServerHttpServlet.java:35)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
	at org.eclipse.jetty.server.Server.handle(Server.java:181)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661)
	at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
	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)
Using Mencoder I get

Code: Select all

/ums/media/0c9aa9fd-d117-363c-bffe-c20c14178780/34426/Big_Buck_Bunny_1080_10s_30MB.webm_transcoded_to.ts
java.lang.NullPointerException: Cannot invoke "net.pms.media.audio.MediaAudio.getNumberOfChannels()" because the return value of "net.pms.io.OutputParams.getAid()" is null
	at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:740)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:902)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:764)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.sendMediaResponse(MediaServerServlet.java:439)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGetHead(MediaServerServlet.java:161)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGet(MediaServerServlet.java:85)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
	at net.pms.network.mediaserver.servlets.MediaServerHttpServlet.service(MediaServerHttpServlet.java:35)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
	at org.eclipse.jetty.server.Server.handle(Server.java:181)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661)
	at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
	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)
It does work with the VLC engine.


I'll make an issue on Github for the devs to investigate.

Re: help with HTTP ERROR (500)

Posted: Wed Oct 09, 2024 1:40 pm
by Nothsor
did a clean install and then downloaded the Big Buck Bunny file. same error message. is there a certain codec I should be using for webm files? I see the file is listed as a VP8, is there a specific codec that UMS preferes for that format?

Re: help with HTTP ERROR (500)

Posted: Thu Oct 10, 2024 4:17 am
by mik_s
It appears to be a bug when a webm video has no audio stream when using FFmpeg and Mencoder.

Playing with the VLC transcoding engine works so use that for now till this gets fixed.

I made an issue for this here.

Re: help with HTTP ERROR (500)

Posted: Sun Oct 27, 2024 3:11 pm
by SubJunk
This has been fixed now and will be in our next release, thanks for reporting the bug! Do you want me to upload the fixed build for you?