-
-
Notifications
You must be signed in to change notification settings - Fork 44
Video cannot be played when thumbnail request returns a 404 #708
Description
Describe the bug
Certain thumbnails return a 404 when hitting /vi/:id/maxresdefault.jpg
The 404 prevents any thumbnail from loading, preventing the video from being playable.
To Reproduce
Video id 1gWd-FHfAQE does this for me
Expected behavior
A thumbnail should be loaded or a fallback image should be used in the event of a 404
Screenshots
N/A
Additional context
Hi yes it is another thumbnail not working. I think there is a problem potentially with how you are sorting the thumbnails, I am not really sure.
Many thumbnails are rendering fine, but some are returning a 404, which causes the spinner, which prevents the video from being playable.
For example this video id 1gWd-FHfAQE causes the 404 for me.
What I am noticing is the clipious app is trying to fetch the thumbnail for /vi/1gWd-FHfAQE/maxresdefault.jpg but the invidious web application makes the api request to 1gWd-FHfAQE/maxres.jpg.
I dont think that every youtube video has a maxresdefault.jpg
When I look at the invidious code it looks to me that maxres.jpg is their own construct that will automatically choose the best one available.
When I look at the clipious code it seems that the logic is intentionally preferring maxresdefault over maxres.
If possible it might be best to just always put maxres.jpg at the top and let the server decide which thumbnail to use, or to tweak the compareTo logic such that maxres is preferred to maxresdefault.
This may also be a problem on the invidious side - at least from my server, in the event of a 404 on the thumbnail it seems as if invidious is failing to properly close the connection.
This for example hangs forever despite the logs emitting a 404
curl --verbose "https://<invidious_instance>/vi/1gWd-FHfAQE/maxresdefault.jpg"
Possibly both sides need a proper fix since I dont fully see in your code how a 404 is handled