Skip to content
Advertisement

Determine if YouTube video is widescreen?

I would like to know with certainty if a YouTube video is widescreen or not using the v3 API. There are many old videos that have a 4:3 ratio, so I need to detect this.

This was possible with API v2, but it is officially retired now. Here are the API v3 docs.

An API call looks something like this:

JavaScript

Also, the thumbnail data always returns dimensions of 4:3, so that doesn’t help. Here is an example:

JavaScript

Any ideas?

(I’m currently hacking this by analyzing pixels in the thumbnails where tell-tale black bars on 4:3 videos will be.)

Here is a sample video in 4:3 ratio:

https://www.youtube.com/watch?v=zMJ-Dl4eJu8 (old martial arts video)

martial arts in 4:3

and one in 16:9:

https://www.youtube.com/watch?v=7O2Jqi-LhEI (a new workout video)

workout video


Update: One promising suggestion was to explore fileDetails.videoStreams[].aspectRatio but it seems that this is only available to the video owner. Otherwise requesting fileDetails results in

The request cannot access user rating information. This error may occur because the request is not properly authorized

Advertisement

Answer

If you’re open to using a different method other than V3 of the API, then I believe it is possible via the oEmbed API.

JavaScript

Like so:

JavaScript

Would produce:

JavaScript

In the examples you’ve given, the output was as follows:

http://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=zMJ-Dl4eJu8&format=json

JavaScript

http://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=zMJ-Dl4eJu8&format=json

JavaScript

This appears to work in the examples you’ve provided.

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement