2D to 3D conversion only plays for a few minutes then stops

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
jc265
Posts: 5
Joined: Wed Jan 18, 2023 8:29 am

2D to 3D conversion only plays for a few minutes then stops

Post by jc265 »

As the title states, when I use 2D to 3D conversion, playback will stop anywhere from 1 minute 32 seconds and 2 minutes 3 seconds of playback.
I've tried multiple video files and they all stop in that range.
I'm on UMS 13.1.0 and use VLC to playback media files.


I've attached my trace log, hopefully I did it correctly.

Thanks for any help you can provide.

I'm also very new to this, so dumbed down responses would be nice :lol:
Attachments
_ums_dbg_2023-01-17-14-27.zip
(855.36 KiB) Downloaded 80 times
User avatar
mik_s
Moderator
Posts: 1114
Joined: Wed Aug 23, 2017 11:03 pm
Location: UK

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by mik_s »

I know nothing about the 3D conversion, this is something @vruser will know more of than me as he was the one that added that feature.

I can see there that the connection was reset by the renderer but don't know the cause. At that point in the log it was not in trace mode so could be missing some important info.

Code: Select all

DEBUG 2023-01-17 14:24:42.089 [jupnp-netty-worker-25] org.jupnp.transport.spi.StreamServer Connection error: {}
java.io.IOException: An established connection was aborted by the software in your host machine
	at java.base/sun.nio.ch.SocketDispatcher.write0(Native Method)
	at java.base/sun.nio.ch.SocketDispatcher.write(Unknown Source)
	at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
	at java.base/sun.nio.ch.IOUtil.write(Unknown Source)
	at java.base/sun.nio.ch.IOUtil.write(Unknown Source)
	at java.base/sun.nio.ch.SocketChannelImpl.write(Unknown Source)
	at org.jboss.netty.channel.socket.nio.SocketSendBufferPool$UnpooledSendBuffer.transferTo(SocketSendBufferPool.java:203)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.write0(AbstractNioWorker.java:201)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.writeFromUserCode(AbstractNioWorker.java:146)
	at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:99)
	at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:36)
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:779)
	at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:60)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784)
	at org.jboss.netty.channel.Channels.write(Channels.java:725)
	at org.jboss.netty.handler.stream.ChunkedWriteHandler.flush(ChunkedWriteHandler.java:274)
	at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:121)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582)
	at org.jboss.netty.channel.Channels.write(Channels.java:704)
	at org.jboss.netty.channel.Channels.write(Channels.java:671)
	at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:347)
	at net.pms.network.mediaserver.nettyserver.RequestV2.answer(RequestV2.java:799)
	at net.pms.network.mediaserver.nettyserver.RequestHandlerV2.writeResponse(RequestHandlerV2.java:431)
	at net.pms.network.mediaserver.nettyserver.RequestHandlerV2.messageReceived(RequestHandlerV2.java:276)
	at net.pms.network.mediaserver.jupnp.transport.impl.NettyStreamServer$RequestUpstreamHandler.messageReceived(NettyStreamServer.java:192)
	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
	at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:142)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
	at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:145)
	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
	at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Try and ceate this again making sure it is in trace mode before you start to play that video.
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.
jc265
Posts: 5
Joined: Wed Jan 18, 2023 8:29 am

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by jc265 »

Okay, hopefully the trace mode worked this time.
Attachments
ums_dbg_2023-01-17-18-52.zip
(1.26 MiB) Downloaded 94 times
User avatar
mik_s
Moderator
Posts: 1114
Joined: Wed Aug 23, 2017 11:03 pm
Location: UK

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by mik_s »

Yes it worked. I can't see anything obvious though.

I can see the video starting but not stopping so don't see what causes it. It seems to be playing fine but that exception message is after it starts to play so may be pointing to the cause. Maybe the renderer is just refusing the connection for some reason but UMS is still sending the video stream.

One thing that probably is not related but want to rule it out is that I saw that you have an IP filter on 192.168.1.103, this should be fine but just try removing it and see if it changes anything.

I left a message on GitHub for @vruser to have a look when he has time.
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.
jc265
Posts: 5
Joined: Wed Jan 18, 2023 8:29 am

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by jc265 »

mik_s wrote: Wed Jan 18, 2023 2:37 pm Yes it worked. I can't see anything obvious though.

I can see the video starting but not stopping so don't see what causes it. It seems to be playing fine but that exception message is after it starts to play so may be pointing to the cause. Maybe the renderer is just refusing the connection for some reason but UMS is still sending the video stream.

One thing that probably is not related but want to rule it out is that I saw that you have an IP filter on 192.168.1.103, this should be fine but just try removing it and see if it changes anything.

I left a message on GitHub for @vruser to have a look when he has time.
Sorry for the delay. I removed the IP and left it blank but the result is the same unfortunately.

Thanks for the suggestion!
User avatar
mik_s
Moderator
Posts: 1114
Joined: Wed Aug 23, 2017 11:03 pm
Location: UK

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by mik_s »

I thought that may be the case but as I don't use that feature I could not be sure.

Hopefully @vruser will respond soon.
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.
vruser
Posts: 10
Joined: Fri Oct 07, 2022 5:57 pm

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by vruser »

In the attached log file:

Video Starts Playing in UMS 18:50:24.955
Unexpected VLC request 18:50:29.685
VLC Causes UMS IO exception 18:50:29.736
Video Stops Playing in UMS 18:50:51.006

It looks like VLC stops communicating with UMS about 5 seconds into the video, but UMS carries on playing it for another 22 seconds.

Another user has reported a similar issue trying to do the same thing with BigScreen Steam version and VLC and indeed share the video with other users. I suspect this may be some kind of resource issue in BigScreen or VLC or UMS on your desktop, but there isn't much to go on.

Can you access UMS directly from the standalone BigScreen via DLNA in the headset and play the video properly? This would take VLC and the BigScreen Steam VR application out of the equation. This is the solution that I proved out.

What resolution is the source video? How much RAM did you allocate to UMS when you installed it. It's not generating a memory error on the UMS side, but worth checking. It needs to be at least 4096 megabytes (which is the new default).

I have played many long videos on VLC with UMS and viewed them in my VR Headset via Virtual Desktop without issue at 4K desktop screen size without issue.

VLC is actually the renderer that UMS sees in this setup. It is unaware of BigScreen. I assume that VLC and UMS are running on the same machine. It could be a RAM/resource issue on that machine. Based on the log, I am guessing that the video stops playing in VLC (5 seconds in?) - it is the VLC/UMS interaction that we need to focus on.

This is what the other user said:

"Anyways I’m currently trying to get the 3D conversions to run from VLC or MPC-HC to the bigscreen steam app / bigscreen Remote Desktop, so then the 3D conversions could play simultaneously to multiple headsets.
....
I almost got it all working today, but for some reason the conversions will eventually stop playing. It seems that if the video file is too large in size or resolution it’ll not handle itself, maybe it’s because my internet isn’t fast enough I’m not sure, I’ll have to try again later. "

As I say, I am thinking this is probably a resource related issue on the PC running UMS and VLC. If BigScreen had a problem it would not stop the video playback in VLC. If VLC stops then we need to know what's happening there. The connection between VLC and UMS is throwing an exception, so more than likely VLC is the component that is unhappy.

I note that you are both using BigScreen via Steam. I have never done that. Running UMS, VLC and BigScreen Steam VR all on the same machine might well be the issue.

Try with the standalone BigScreen app (or Pigasus) in the headset talking directly to UMS via DLNA without running the steam version or VLC. If that works you could also try Virtual Desktop with VLC. This would reduce the load on the PC as BugScreen Steam would not be running on it. As I say, VLC is the UMS client renderer in your existing setup. If VD and VLC work then it is likely the steam version of BigScreen is hogging resources.

Anything happening between the BigScreen Steam solution and VLC is invisible to UMS, but resources such as RAM are consumed.
Last edited by vruser on Thu Jan 19, 2023 1:48 am, edited 2 times in total.
vruser
Posts: 10
Joined: Fri Oct 07, 2022 5:57 pm

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by vruser »

Yet another user is also using the BigScreen Steam version with VLC and UMS release 13.0.1. They have been using this setup with a Vive Pro headset for some time and I have had extensive discussions with them, see here. It is working extremely well for them:

https://www.reddit.com/r/bigscreen/comm ... are_button

The socket exception reported in the log must be from the VLC to UMS interaction. Something is making VLC stop working and as I say the most likely thing is a resource issue.

I can see from the log that the input video being played is 1920x960. Your system should be able to easily handle that based on my testing - excpet for the steam element as I did not test that. The 3D output format selected will impact resource consumption. If not already doing so, could you try playing the video with a 3D output format of Half SBS rather than Full SBS? This is selectable in the UMS UI as you probably know. This will reduce the resolution of the 3D generated video to 1920x1080 rather than 3840x1080 with the Full SBS option. I do recommend Full SBS in the guide, but if resources are an issue on the machine this might help. You could also try with a much lower resolution input video - say 720p, see if that works and then work up from there. The user for whom this is working is using Half SBS with a 4K desktop and sounds like a 4K input video! However, the default UMS configuration would resize this to a width of 1920 before applying the 3D processing - so their input video would be the same or a similar size to the one that you are having a problem with.
Last edited by vruser on Thu Jan 19, 2023 2:01 am, edited 1 time in total.
vruser
Posts: 10
Joined: Fri Oct 07, 2022 5:57 pm

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by vruser »

The other user with an issue reported this:

"I tested to see if it is able to run the videos better over bigscreen dlna compared to just VLC, and surprisingly bigscreen DLNA was more reliable? I figured it would be the other way around but VLC would just outright stop the videos at random points while bigscreen would tank the stream quality whenever the action on screen got too crazy. Neither one managed to run anything higher than 1080p"

It is interesting that DLNA works better. This is probably because of reduced resource consumption on the PC, as it is not running VLC. VLC is also the component that was probablty failing before.

I suspect that some tuning is also required for this user. It sounds like this user may be trying to run videos with an input resolution of 1080p with some greater than 1080p. By default the UMS 2D to 3D functionality is set to resize all videos to a maximum width of 1920 pixels before applying the 3D conversion. So, unless the deault was changed, then the input videos all have a maximum horizontal resolution of 1920 pixels. See screen shot where this and other 2D to 3D settings can be configured:

Image

As I say in my ealier response on this topic, the user that is having success with the BigScreen Steam VR solution, VLC and UMS has specified a 3D Output format of Half SBS (HSBS). This may reduce resource requirements enough from Full SBS to make the system work.

It wold hep to know the resolution taht the desktop is running at, the resolution of the input video, the 3D output format selected in the UMS UI and the resize settings in the 2D to 3D area. Also, the spec of your PC and in particular the GPU and RAM.
jc265
Posts: 5
Joined: Wed Jan 18, 2023 8:29 am

Re: 2D to 3D conversion only plays for a few minutes then stops

Post by jc265 »

Can you access UMS directly from the standalone BigScreen via DLNA in the headset and play the video properly?
I either get an error saying "Not Supported" or the video eventually stops playing. Haven't been able to watch anything from start to finish yet.
What resolution is the source video? How much RAM did you allocate to UMS when you installed it.
I've only tried it with 1080p videos. I gave it the default amount of ram, 4GB.
I assume that VLC and UMS are running on the same machine. It could be a RAM/resource issue on that machine.
Correct, same machine with 16GB of ram.
Based on the log, I am guessing that the video stops playing in VLC (5 seconds in?)
All the videos I have tried (around ten at this point) have stopped at either 1m 32s OR 2m 3s. It's always one or the other.
Running UMS, VLC and BigScreen Steam VR all on the same machine might well be the issue.
Aside from showing a friend while in Bigscreen, all the playback I've done has NOT been while Bigscreen was running. I've checked resource monitor while using UMS/VLC from just my desktop and CPU/RAM usage stays low.
It wold hep to know the resolution taht the desktop is running at, the resolution of the input video, the 3D output format selected in the UMS UI and the resize settings in the 2D to 3D area. Also, the spec of your PC and in particular the GPU and RAM.
Desktop res: 4k
Video res: only tried 1080p x264 videos
3D output format: Tried both HSBS and HOU
Resize setting: 1920

GPU: RTX 3080 12GB
RAM: DDR4 4000MTs (Samsung B-Die)
CPU: 10700k
Storage: media stored on an M.2 SSD
OS: Win 11 22H2

Thanks for taking the time to reply and if I missed any of your questions let me know!
Post Reply