[Bug]: video freezes and reloads, and when it does, only lower resolution is available
Guidelines
- [x] I have encountered this bug in the latest release of FreeTube.
- [x] I have encountered this bug in the official downloads of FreeTube.
- [x] I have searched the issue tracker for open and closed issues that are similar to the bug report I want to file, without success.
- [x] I have searched the documentation for information that matches the description of the bug I want to file, without success.
- [x] This issue contains only one bug.
- [x] I have read and agree to follow the rules.
Describe the bug
- play a video (usually this happens with longer videos, just happened with this one: https://youtu.be/gsooOhdN_Ck
- sometime during the video, seems random as to when, playback stops and the video reloads
- after reload, only lower resolution is available
Expected Behavior
no freezing or reloading, and no sudden lowering of playback resolution
Issue Labels
inconsistent behavior
FreeTube Version
v0.23.8 Beta
Operating System Version
Windows 10 LTSC 21H2
Installation Method
.exe
Primary API used
Local API
Last Known Working FreeTube Version (If Any)
No response
Additional Information
Guess: may be related to mid-roll ads (?)
Nightly Build
- [ ] I have encountered this bug in the latest nightly build.
I cannot reproduce this with the provided URL and other streams from that channel. Please provide more URL this happened on.
In addition to that do the following:
- ctrl + shift + i on the subscription page to open the dev tools. Make sure the console tab in the dev tools is open
- Go to the about page to show what version you are on
- Try to watch the video
- Show the red errors you received in the console when the bug occured
This is not VPN related, I don't think. It just happened again with another video from the same channel, I had the console open and took a screenshot.
I am on the latest version v0.23.8 Beta
happened to me one time before too
video freeze near halfway to video and reloads with 360p
haven't reproduced it so far, was random too so I didn't managed to log it
I can confirm it happens randomly to me as well. Sometimes multiple times on the same video and day, sometimes not at all.
I look into debugging another time
For me on this channel each video experience this issue. And also on this. Though occurrence could be Google caching server dependent.
I noticed that I frequently encounter this issue for this channel, especially after a while (say 15 min of playback) or if I pause/unpause the video and skip forward/backward a lot.
I noticed that I frequently encounter this issue for this channel, especially after a while (say 15 min of playback) or if I pause/unpause the video and skip forward/backward a lot.
Confirm. Pause/unpause is probably a simpler way to reproduce this. Pause is broken for that type of videos. Because after trying to unpause video doesn't play, page became broken in some way. I need to reload page to play video again and timestamp is dropped to 0:00.
To me this looks like Youtube limits percentage of video that could be viewed "for free" without interruptions. Because even in a browser I have similar kind of issue. After disabling Sponsorblock in Freetube it feels like issue is slightly soften.
As workaround - set player settings to legacy 360p. That way it plays without interruptions. But pause\unpause is broken even with legacy 360p.
Also happened with me during a long lecture. The video reloads, does not play for a while, and then starts from the beginning.
I'm getting the same issue with the AUR package freetube-bin 0.23.8-1 which is the same version. While I haven't been able to reproduce it consistently I think the longer a video plays the more likely the issue will occur.
I get this occasionally too. My take is, on long videos or if videos are paused and resumed much later, the handshake or session or whatever might've expired, FreeTube has to grab fresh, and it gives 360.
That could be part of it, but I'm getting this in the middle of watching (usually longer videos) without ever pausing, so there's definitely more to it
As a consequence of this issue, when pressing "Play next video" in a playlist, previous video doesn't marked as watched.
Can you please check if the videos you are experincing it with have midroll ads on the YouTube website?
Didn't see midroll ads. For me on latest nightly Freetube build this issue become less severe. In that video plays without interruptions on DASH formats. Which issue is still left is if I pause a video, playback is dropped to zero and then should reload page to play again. But in that case format is not switched to legacy 360p as it was with build from 2 weeks ago.
I just experienced this issue while watching this video:
@MikeTsakov did you use a VPN? If so in what country is it located?
@MikeTsakov Do you feel comfortable sharing from what location you are watching because i think it might be related to your location. If you dont feel comfortable sharing it here out in the open i can share my details
I am fine to share that. I am watching from the Netherlands.
Adding a me too... Watching in New Zealand with a VPN to Australia
renderer.js:2 Player Error (category and code explainations here: https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html)
Video ID: "6tlGXJ18h30"
FreeTube player context: "shaka error handler"
Severity: CRITICAL (2)
Category: NETWORK (1)
Code: TIMEOUT (1003)
Stack trace:
Error: Shaka Error 1003
at new Ee (app://bundle/renderer.js:2:25157)
at app://bundle/renderer.js:2:99144
at app://bundle/renderer.js:2:100089
at app://bundle/renderer.js:2:100330
shaka-player Data:
Array(2)
0
:
"https://rr4---sn-ntqe6n7r.googlevideo.com/videoplayback?expire=1758547944&ei=iPvQaNHDK_uAvcAP1NPR-AE&ip=2a02%3A6ea0%3Adb0a%3A2334%3A%3A19&id=o-AGglBr5aNJ2nUfeywjHycsBmDNLrsws8OOrgXyqdSb1V&itag=399&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278%2C394%2C395%2C396%2C397%2C398%2C399%2C598&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1758526344%2C&mh=Gx&mm=31%2C29&mn=sn-ntqe6n7r%2Csn-ntq7yns7&ms=au%2Crdu&mv=m&mvi=4&pl=40&rms=au%2Cau&initcwndbps=3583750&bui=ATw7iSUOKk0TqYoZ3VhLlUFqYp8vENFWz3aeSWwuQBxWEBbLaLsp3lLSM8mPCoZ6zUVR61eJjOaIlbD-&spc=hcYD5bgagwn64iJ8niIEpCJO-Stu_C5zUY4EMayxAkNu2IY2G7VI821khvTfGOz_SCc&vprv=1&svpuc=1&mime=video%2Fmp4&ns=gj8B4-ogUvLlQuY7muamQ2cQ&rqh=1&gir=yes&clen=100711451&dur=895.960&lmt=1747025447378073&mt=1758525942&fvip=2&keepalive=yes&fexp=51331020%2C51552689%2C51565116%2C51565682%2C51580968&c=MWEB&sefc=1&txp=5537534&n=Xglm3m6-lO9XEw&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgZmGbxo8CZJYLyujMmSZVzPgq_wT4lIxWOMcz5GdKxHsCIQCqN7rLe4bqrnNp5c-oNKtRbKgoCEJAsqGxeRf9qSzacg%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=APaTxxMwRAIgWz7wJvAKjUfNBFjlpboKt6NbH_cPHLdHfVM9IrtbYdcCICuQeLZa_1ib8plQQS_RP6y6gqHnW7xZWvW29rQwZzr7&pot=MnuXfZZFtWKQIJdCPsn6bz8s84O9wW-huS6cqfDpXyf5nB6j82aAljbajYUe_MQtQPVK-QSr-XhFXb6YJX7GhqOHQMl7UuW6TZCL-kLLnXtwwv0z9feSzJy8sqoiC3y_chrs_tZaQqUPWZYb2LOolIDyCKajr8UqZKRCK3o%3D&cver=2.20250224.01.00&cpn=oB2mYgMxjqjRjy15&range=23002243-23813565&alr=yes"
1
:
1
length
:
2
[[Prototype]]
:
Array(0)
at
:
ƒ at()
concat
:
ƒ concat()
constructor
:
ƒ Array()
copyWithin
:
ƒ copyWithin()
entries
:
ƒ entries()
every
:
ƒ every()
fill
:
ƒ fill()
filter
:
ƒ filter()
find
:
ƒ find()
findIndex
:
ƒ findIndex()
findLast
:
ƒ findLast()
findLastIndex
:
ƒ findLastIndex()
flat
:
ƒ flat()
flatMap
:
ƒ flatMap()
forEach
:
ƒ forEach()
includes
:
ƒ includes()
indexOf
:
ƒ indexOf()
join
:
ƒ join()
keys
:
ƒ keys()
lastIndexOf
:
ƒ lastIndexOf()
length
:
0
map
:
ƒ map()
pop
:
ƒ pop()
push
:
ƒ push()
reduce
:
ƒ reduce()
reduceRight
:
ƒ reduceRight()
reverse
:
ƒ reverse()
shift
:
ƒ shift()
slice
:
ƒ slice()
some
:
ƒ some()
sort
:
ƒ sort()
splice
:
ƒ splice()
toLocaleString
:
ƒ toLocaleString()
toReversed
:
ƒ toReversed()
toSorted
:
ƒ toSorted()
toSpliced
:
ƒ toSpliced()
toString
:
ƒ toString()
unshift
:
ƒ unshift()
values
:
ƒ values()
with
:
ƒ with()
Symbol(Symbol.iterator)
:
ƒ values()
Symbol(Symbol.unscopables)
:
{at: true, copyWithin: true, entries: true, fill: true, find: true, …}
[[Prototype]]
:
Object
I've seen this happen with both long videos and unstable connections. The effect is easy to reproduce on my end by limiting the bandwidth to something ridiculously low. Can be done through chromium's network tab through a custom profile, set both upload and download to 50kbit/s. The 3g profile doesnt seem to produce the effect consistently.
Not sure if anything changed, but I've been seeing this issue more often the last few days This one in particular has been really annoying to watch, it reloads every 5 minutes or so! https://youtu.be/2aJl_KGvXjk
Noticed this occasionally happening on the latest nightly build as well. Progress on the video also resets, which can be annoying when I'm not paying attention to the timestamp.
I have noticed this mostly on longer videos, 10 minutes or more. If I leave the video and come back to it, the video loads again in 1080 then sometimes within a minute will go back to 360. I do not use a VPN, I have a symmetrical gigabit connection.
This is the last video I had the issue occur on. https://youtu.be/y5b8jaws_yw
This video it seemed to be having a similar issue or could be related to the same root cause. When the error occurred, it would not reload and would get stuck on the thumbnail showing 0:00 for the time and forget the time I was at in the video. https://youtu.be/cgTw__CTftQ