Is your feature request related to a problem? Please describe.
The ThumbnailSet class provides five different hard-coded URLs for each thumbnail that a video can have, these being LowResUrl, MediumResUrl, HighResUrl, StandardResUrl, and MaxResUrl, however, as the class states, only some of these thumbnails may be available. Currently, there is no way of determining which thumbnails are available until we send an HTTP request to one of the URLs, at which point the request will return a 404 error if the thumbnail is not available in that quality.
Describe the solution you'd like
The YoutubeExplode library circumvents this by resolving the available thumbnails from the player response, as can be seen here:
Is your feature request related to a problem? Please describe. The
ThumbnailSet
class provides five different hard-coded URLs for each thumbnail that a video can have, these beingLowResUrl
,MediumResUrl
,HighResUrl
,StandardResUrl
, andMaxResUrl
, however, as the class states, only some of these thumbnails may be available. Currently, there is no way of determining which thumbnails are available until we send an HTTP request to one of the URLs, at which point the request will return a 404 error if the thumbnail is not available in that quality.Describe the solution you'd like The YoutubeExplode library circumvents this by resolving the available thumbnails from the player response, as can be seen here:
PlayerResponse.cs VideoClient.cs
This allows us to tell exactly which thumbnails are available for a specific video, and their resolution.
Describe alternatives you've considered N/A
How should this be implemented I imagine the solution used in YoutubeExplode could be ported with relative ease.
Additional context N/A