Stuttering on every video / Broken seeking (LG 49NANO)

For help and support with Universal Media Server in general
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
User avatar
SubJunk
Lead Developer
Posts: 3241
Joined: Sun May 27, 2012 4:12 pm

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by SubJunk » Mon Oct 12, 2020 4:32 pm

Also I forgot to mention, something you can try is on the General Settings tab, select other renderers in the "Default renderer" dropdown near the bottom, there are lots of LG ones and they're probably a good place to start. Then click the "force detection" and UMS should use whatever config you select. You could see if any of them allow seeking during transcoding for your TV

protected
Posts: 35
Joined: Sun Apr 12, 2015 5:59 am

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by protected » Mon Oct 12, 2020 10:50 pm

I thought streaming was stuttering with all the videos I had, even though the codecs seem supported by the renderer, but looking at the task manager it seems to be using mencoder by default. In which case what I probably want is "use ffmpeg when transcoding is automatically selected for whatever reason"... I wouldn't mind trying streaming.

No changes with TranscodedVideoFileSize = -1

With TranscodedVideoFileSize = 100000000000 there is a change: Attempts to seek in ffmpeg mode result in the video freezing for a minute or so, then exiting and moving to the next one in the folder (which is the mencoder mode). Also, I noticed the stops in the seek bar are more granular when using the arrow buttons.

I tried simultaneously using TranscodeVideo = MPEGTS-H264-AC3 and TranscodedVideoFileSize = 100000000000 thinking this might allow me to seek in mencoder mode. However, when TranscodedVideoFileSize = 100000000000, mencoder mode won't run at all (it loads for a bit and then fails and reports incompatible file format). I've tested this twice. If TranscodedVideoFileSize = 100000000000 is removed, with no other changes, mencoder mode will play without stuttering, as it did yesterday.

I tried removing the other changed settings and adding ASS to the list of supported subtitles in the renderer configs to see if it made the files stream instead of transcode when played from outside the transcode folder. The outcome is unclear to me:

- The video played, with severe stuttering
- No information about a veredict in the debug log
- A mencoder.exe process was created and active
- Killing the mencoder.exe process did not stop the video, but a new one was launched shortly afterwards

I'm assuming I did not succeed in getting it to stream to the TV.

protected
Posts: 35
Joined: Sun Apr 12, 2015 5:59 am

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by protected » Tue Oct 13, 2020 10:01 am

(Ignore this reply, explanation at the bottom.)

I think halfway through playing a video UMS just jumped to the "matched" renderer "LG WebOS TV".

"LG WebOS TV" is displayed as a third renderer, renderer C (for which there is no "New renderer found" line in the log). In the UI, it is represented that the playthrough started from scratch on it. On the TV, it just froze with the loading symbol on screen.

Left clicking "LG WebOS TV" on the status tab only shows a "Name" and "Address" field instead of the usual full complement (manufacturer, modelName, etc etc). Renderers A and B are stil on the interface. What happened here? How best can I avoid this type of situation? Since I can't seek yet, this ruins the session...

EDIT: I think this one happened because my router decided to assign a new IP address for the TV out of the blue for reasons unknown. I'll set it up with a static address...

Nadahar
Posts: 1854
Joined: Tue Jun 09, 2015 5:57 pm

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by Nadahar » Tue Oct 13, 2020 12:08 pm

UMS "recognizes" renderers in two different way, and they don't always cooperate. It's either based on UPnP description details, or it's based on the HTTP user-agent string or in a few cases other HTTP headers. When a renderer is "recognized" via a HTTP header, most of the details will be missing (like you described).

UPnP is the most "precise" way to identify a renderer, but not all renderers supports this, so HTTP matching is needed as well. Both methods are supposed to result in the same renderer configuration, but it's not always the case. Some user-agents are so generic that it's impossible to identify anything by them. In your case it's clear that you have some issues with the "search strings" (those used to "recognize" a renderer) in your configurations. You should look at the configuration that was matched incorrectly, and modify the "header search" string so that it doesn't match. You can find the user-agent your TV sends in the log file.

When you have this situation, UMS will sometimes switch configuration somewhat randomly, and the results are usually undesirable.

protected
Posts: 35
Joined: Sun Apr 12, 2015 5:59 am

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by protected » Tue Oct 13, 2020 2:07 pm

I think what SubJunk previously said about having a specific configuration for this TV (higher priority, I assume) might eventually be the most reliable way to get rid of all these minor issues once and for all, since none of these seem to be for this TV in the first place...

boss
Posts: 220
Joined: Thu Jun 30, 2016 1:07 pm

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by boss » Tue Oct 13, 2020 4:08 pm

I would modify the UserAgentSearch and UpnpDetailsSearch in the LG-WebOS.conf file as a starting point so your TV uses this file.
You could try changing the UserAgentSearch to:
LG. (w|W)ebOS TV|LG (W|w)ebOSTV|[LG] webos TV|LG webosTV|LGE webos TV

And the UpnpDetailsSearch to:
LG. WebOS TV|LG WebOSTV|LG-webOSTV|LG Smart TV|[LG] webos TV|LG webosTV|LGE webos TV

The other thing you could do is increase the loading priority in the conf file you want to use by having:
LoadingPriority = 2

Your conf files, [LG]webOSTVNANO866NA-2895fb.conf and [LG]webOSTVNANO866NA-55a9ac.conf are basically empty so I don't get the point of these.

That said, I've had a lot of seek issues with my LG WebOS TV's which have been unresolved for quite some time.
The last version of UMS which works OK for my LG WebOS TV's is V7.4.0

JUST BEEN ADVISED BY NADAHAR THE UMS.sh FILE IS ONLY RELEVANT IN LINUX VERSIONS.
PS. I also saw you wanted to increase the JVM memory. This can be done by editing the file "UMS.sh"
Change the line "UMS_MAX_MEMORY=" to increase it.
Last edited by boss on Tue Oct 13, 2020 4:39 pm, edited 2 times in total.

Nadahar
Posts: 1854
Joined: Tue Jun 09, 2015 5:57 pm

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by Nadahar » Tue Oct 13, 2020 4:26 pm

@boss UMS.sh is only relevant on Linux.

boss
Posts: 220
Joined: Thu Jun 30, 2016 1:07 pm

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by boss » Tue Oct 13, 2020 4:37 pm

@Nadahar
Thanks for the info. I wasn't aware.
Cheers

protected
Posts: 35
Joined: Sun Apr 12, 2015 5:59 am

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by protected » Wed Oct 14, 2020 2:18 pm

Sorry, I didn't have time for tests today.

The empty custom config files are where I put all these settings people suggest in order to try them out.

Earlier in the thread I pointed out that the batch file unfortunately fails to run UMS at all. I don't know why. In the distant past (many versions ago) the batch file was the *only* way I could run UMS :D

That's disheartening to know that LGs are broken. Hopefully they can be improved in the future. I'll be happy to try things out and generate logs in order to help.

protected
Posts: 35
Joined: Sun Apr 12, 2015 5:59 am

Re: Stuttering on every video / Broken seeking (LG 49NANO)

Post by protected » Sun Oct 18, 2020 6:58 am

Some more experimenting today.

I made the config file for the renderer, based on the original LG-WebOS renderer.

Code: Select all

# ============================================================================
# This renderer has sent the following string/s in the SAME session:
#
# User-Agent: Linux/4.4.84-p.33.japoon.k6hp.1 UPnP/1.0 LGE WebOS TV LGE_DLNA_SDK/1.6.0/03.11.20 DLNADOC/1.50
#
# friendlyName=[LG] webOS TV NANO866NA
# manufacturer=LG Electronics
# modelName=LG Smart TV
# modelNumber=49NANO866NA
#
# friendlyName=[LG] webOS TV NANO866NA
# manufacturer=LG Electronics.
# modelName=LG TV
# modelNumber=1.0
# modelDescription=LG WebOSTV DMRplus

# ============================================================================
#

UserAgentSearch = LGE (w|W)ebOS TV
UpnpDetailsSearch = NANO866NA
LoadingPriority = 2
Unfortunately the TV still identifies as two separate devices with distinct IDs, with the same IP address and the fields listed in the two (distinct) blocks above. So even though both use the same config file, they're still two devices in UMS. I don't know if this is a solvable problem.

Transcoding started defaulting to ffmpeg when unticking "...problematic subs..." as previously suggested. Thanks.

I've tried playing several files as generic as I could make them, h264 video and srt subs, and UMS always defaults to transcoding. I really can't get it to stream anything to the TV without transcoding. Ideas?

These are the supported formats in theory: http://webostv.developer.lge.com/discov ... /webos-30/

These are the supported video formats from the original LG WebOS conf:

Code: Select all

# Supported video formats:
Supported = f:avi         v:h264|mjpeg|mp4|xvid             a:aac-lc|he-aac|ac3|dts|mp3|mpa|eac3            m:video/avi
Supported = f:mkv         v:h264|h265|mp4|mpeg2|vp8|vp9     a:aac-lc|he-aac|ac3|dts|mp3|mpa|vorbis|eac3     m:video/x-matroska
Supported = f:mov         v:h264|h265|mp4                   a:aac-lc|he-aac|eac3                            m:video/quicktime
Supported = f:mp4|m4v     v:h264|mp4                        a:aac-lc|he-aac                                 m:video/mp4
Supported = f:mpegps      v:mpeg1|mpeg2                     a:ac3|lpcm|mpa                                  m:video/mpeg
Supported = f:mpegts      v:h264|h265|mpeg2                 a:aac-lc|he-aac|ac3|dts|eac3                    m:video/mpeg
Supported = f:wmv|asf     v:wmv|vc1                         a:wma                                           m:video/x-ms-wmv
I added some eac3s there since one of the videos I tried was complaining but they are listed in the website as compatible. Otherwise it largely seems to match (maybe a couple more missing ones).

I tried to disable ChunkedTransfer to see if it would help with seeking but videos stopped playing entirely, so I re-enabled it again.

EDIT: It says here that seek is (or should be) supported on webos 3+: http://webostv.developer.lge.com/discov ... a-formats/
(Is this significant?)

Post Reply