I haven't been able to find any current YouTube docs, but "common knowledge" (as noted in this stack overflow post http://stackoverflow.com/a/20542029/442650) is that maxresdefault/sddefault only exist for videos that have been uploaded in high definition.
The way the plugin is currently coded, it will try to embed these non-existent images. the result is that
Here's an example with an older movie trailer that was not uploaded in HD:
The only way to tell if maxresdefault or sddefault exists is to query the API. This library should either max out on the hqdefault image size (never use maxresdefault or sddefault) or query the API to decide if they should be used. Unfortunately the current behavior of the library makes some content look great, and the rest look absolutely terrible.
This is a regression introduced by this ticket: https://github.com/tylerpearson/lazyYT/issues/12
I haven't been able to find any current YouTube docs, but "common knowledge" (as noted in this stack overflow post http://stackoverflow.com/a/20542029/442650) is that maxresdefault/sddefault only exist for videos that have been uploaded in high definition.
The way the plugin is currently coded, it will try to embed these non-existent images. the result is that
Here's an example with an older movie trailer that was not uploaded in HD:
maxresdefault and sddefault 404s to a 120x90 youtube image - http://img.youtube.com/vi/9QNDycDirxA/maxresdefault.jpg
curl -I http://img.youtube.com/vi/9QNDycDirxA/maxresdefault.jpg curl -I http://img.youtube.com/vi/9QNDycDirxA/sddefault.jpg
HTTP/1.1 404 Not Found
The only way to tell if maxresdefault or sddefault exists is to query the API. This library should either max out on the
hqdefault
image size (never use maxresdefault or sddefault) or query the API to decide if they should be used. Unfortunately the current behavior of the library makes some content look great, and the rest look absolutely terrible.