UpDownLeftDie/obs-random-videos

Videos freeze after one play

SXRWahrheit opened this issue · 37 comments

This is occurring after the latest OBS update. Log file: https://obsproject.com/logs/j1zsm73n2q5zQseW

I found a temporary fix by editing the HTML file and removing the file path on the const videoFolder line, so you just leave it as const videoFolder = "";

That made the thing work for me again, but unfortunately now the browser source freezes whenever the first clip finishes and it goes to the second clip, it's the same source I used before and worked fine before the update.

I'm having the exact same issues but changing that line isn't doing anything for me. Any ideas?

g2g so far, thanks

image

Not Working showing blank screen only.

This update did not fix the issue for me, either.

g2g so far, thanks

100% working on my end, idk, did you guess delete the old files or just overwrite them? also I ran as admin, I take that back it does freeze now after like 5 videos, BTW this was in OBS, so its working in OBS for me, just freezes after a few videos.

I ran it as admin and now it doesn't work at all, in OBS or in Chrome. I tried a few things and now I can't get it to work in Chrome again.

Edit: I renamed the directory on my desktop and even after deleting the .html file and making it again, it is still using the old directory name.

Example: I changed "Pop-Up Video" to just "Video" in case it was the space, and Chrome is telling me it is still trying to read "C:\Users\benja\Desktop\Pop-Up Video\Fresh 2.mp4"

Edit 2: It works again in Chrome now, all I did was refresh the page; apparently just closing the tab and opening the file again wasn't enough to clear Chrome's cache of the .html page?

Edit 3: I literally just mashed "Refresh" in frustration trying to get this to work and now it works again. Maybe there's some form of cache inside OBS that's screwing things up??

Sorry to say but still not working.
OBS 27.2.3 64 Bit
Black Screen Only
Working Fine In Chrome.

Making a new post to report that I got the freeze issue now, which never happened to me before after letting it go for over ten minutes of 30-60 second clips on the previous version.

Edit 3: I literally just mashed "Refresh" in frustration trying to get this to work and now it works again. Maybe there's some form of cache inside OBS that's screwing things up??

Yes, this uses local storage in chrome so you need to "drain" your current playlist to get it to properly refresh, which you're doing when you mash the refresh. So I'll need to add some kind of reset function to help people get to a normal state cause if state is so bad you can't drain the queue I'm not sure how you'd get out of it.

People who its not working for, can you try deleting and re-adding the browser source in OBS?

Yes, this uses local storage in chrome so you need to "drain" your current playlist to get it to properly refresh, which you're doing when you mash the refresh.

This is good to know because my playlist is 31 videos and growing.

TL;DR
For now: mash the refresh cache of current page button on the browser source and let me know if you're still stuck.

This is good to know because my playlist is 31 videos and growing.

Lmao yeah, so that's kind of the reason: you got 31 videos and this keeps it so you actually see ALL 31 videos before you see a repeat.

But I just found out some core issues now with how OBS is handling this: I'm not sure how to clear the state or reset it atm without just spamming the refresh. Not that bad unless someone's playlist state gets corrupted somehow that the program breaks and now refreshing doesn't "progress" the queue (right now I'm don't think this is happening to anyone though, think any issue on 3.3.0 is just a stale state that needs to be cleared)
The way OBS is handling this as well makes it so you can only use this program once and it really screws with the state if you try to have two of these.

I will try to get another bug fix out in v3.3.1 with some solutions for these issues and update the readme with some extra steps on how to manually clear your localstorage

https://github.com/UpDownLeftDie/obs-random-videos/releases/tag/v3.3.1 should really help with having to mash the button.

Each time you run the program, any change at all, will generate a new hash and store that sepeartly. So adding or removing a video as well as changing any of the settings in the program will give you a "fresh" instance.

This also lets you had more than 1 of these sources again

https://github.com/UpDownLeftDie/obs-random-videos/releases/tag/v3.3.1 should really help with having to mash the button.

Each time you run the program, any change at all, will generate a new hash and store that sepeartly. So adding or removing a video as well as changing any of the settings in the program will give you a "fresh" instance.

This also lets you had more than 1 of these sources again

I was able to update my video playlist no problem but i'm still getting the freeze after about two minutes of play.

yes fridge frame after sometime

This looks to be an issue with Chromium. Looking into it but not sure if there's much I can do.
Try making sure your file sizes are small? Might help

I had the same issue after the update, going to covert all vid files to webm and see if it helps

I have the same freezing issue after updating.

Is there anything we can do to help you debug this further or otherwise facilitate a resolution?

If it's an absolute breaker for you, then I'd recommend rolling OBS back to a working version.
The only thing that could help is if anyone finds information related to this issue I can reference when I'm looking. It looks like has to do with a bug in Chromium Embedded Framework (CEF) that was probably updated in OBS. If there are known solution or a workaround found elsewhere that I could implement that would be great.

I got the debugger set up myself and replicated the same error the user in the other issue encountered. I'll see if I can find other reports of this issue, although my searching so far suggests that the browser thinks the file is empty or does not exist. (I can assure you it does exist.)

2022-03-25 16_05_20-

that the browser thinks the file is empty or does not exist.

exactly. if you refresh and that file is first it works fine. it somehow fails to load new files. the only thing I found related to this was a pretty old post on chromium forums with someone saying "this is been a bug for 10 years" so not hopeful.
another thing too look at is what version of CEF was OBS using before when it worked and what the first version of CEF that broke for us? That could give us some insight into changes made in CEF and possible solutions

The network resources are reporting they are stalled, and it looks like the next resource attempts to load before the prior one is complete. Is it possible this is a load priority issue?

Does anyone know what the last working version of OBS with this app was? At this point I need to try a rollback.

Actually, downgrading isn't viable because Twitch connections no longer work on versions before 27.2.

Actually, downgrading isn't viable because Twitch connections no longer work on versions before 27.2.

That's not a requirement. You can use a stream key to stream and SE.live for a chat.

nimoy

I'm not a programmer, but from what I believe i've figured out from poking at it is that there is either an issue with the cache (in which case can you manually load every video into one shuffled playlist within the script?) or there's an issue with how it is parsing filenames.

The HyperText Transfer Protocol (HTTP) 416 Range Not Satisfiable error response code indicates that a server cannot serve the requested ranges. The most likely reason is that the document doesn't contain such ranges, or that the Range header value, though syntactically correct, doesn't make sense.

The 416 response message contains a Content-Range indicating an unsatisfied range (that is a '*') followed by a '/' and the current length of the resource. E.g. Content-Range: bytes */12777

Faced with this error, browsers usually either abort the operation (for example, a download will be considered as non-resumable) or ask for the whole document again.

@TerrorVan what version of the project are you using? Have you tried the pre-release?

@TerrorVan what version of the project are you using? Have you tried the pre-release?

I tried the pre-release and now i'm having an issue where it is stopping after every video.

@jaredkotoff I went back to a previous version since at least it worked for a couple of videos before freezing up; with the pre-release version I noticed that the path for the next video to play in the script was coming back as "http://absolute/" and without the actual filepath. I forgot to save a screenshot of it, but that would be why it stops after one video.

Yea 3.4.0 is a miss. I'll just delete that pre-release. Ill try to get it right with 3.4.1

I had a thought, wondering how viable it is:

Could you make it such that the script refreshed the page after every video?

Edit: I did some poking around and it could have to do with the size of the cache when trying to load videos after the first; there's a command listed here that might help called network.enable?

https://vanilla.aslushnikov.com/?Network.enable

@jaredkotoff Tagging you directly for a hot update:

I talked to a buddy of mine that's much more well-versed in code than I and I suggested refreshing the page after every video.

I added location.reload(); to your code for playing one video, and it now plays several videos before it'll freeze. Can you change the code to preserve the playlist, then reload the script such that it just plays the next video in that playlist?

If anyone else is using modern versions of OBS, a VLC source lets you point at a folder and play shuffled videos. Been working great for me.

I tried this out with up-to-date versions of all programs involved and it was abruptly cutting the audio and video at the end of each of my clips.

@TerrorVan ill take a look at that Network.enable method
The only reason i dont want to use page refresh is that it'll break future plan to support cross fading between videos. It might be a good workaround for now but ive been trying to fully understand and solve the problem at hand.
The playlist already is persevered between refreshes so your solution should be ok if youre ok with it.

@SXRWahrheit thanks for the update info on that i haven't checked the VLC source in a while. I'll probably update the readme with that info, if people can get by using that instead of another browser source it'll be better for them (less memory usage)