Получить видео формат YouTube - PullRequest
0 голосов
/ 03 октября 2018

У меня есть URL-адрес YouTube (ID), и мне нужно настроить скрипт в зависимости от формата видео этого видео.

Как мы узнаем формат (16: 9 или другой) и разрешение видео на Youtube, имея его идентификатор?

1 Ответ

0 голосов
/ 03 октября 2018

Если вам нужно только соотношение сторон видео, вы можете использовать что-то вроде https://noembed.com/ (или вы можете напрямую использовать API oEmbed YouTube; см. https://oembed.com/).

Пример:

GET http://noembed.com/embed?url=https://www.youtube.com/watch?v=ysk2OzngYIg

{  
  "height":270,
  "thumbnail_url":"https://i.ytimg.com/vi/ysk2OzngYIg/hqdefault.jpg",
  "thumbnail_width":480,
  "author_name":"Jamie Syme",
  "url":"http://www.youtube.com/watch?v=ysk2OzngYIg",
  "title":"test: sample coast",
  "width":480,
  "provider_name":"YouTube",
  "thumbnail_height":360,
  "provider_url":"https://www.youtube.com/",
  "type":"video",
  "author_url":"https://www.youtube.com/channel/UC7x7nMO0Y9Fq0g7q5zyDC2Q",
  "html":"\n<iframe width=\" 480\" height=\"270\" src=\"https://www.youtube.com/embed/ysk2OzngYIg?feature=oembed\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\n",
  "version":"1.0"
}

Дайвинг width на height даст вам соотношение сторон.

Если, однако, вам нужно фактическое разрешение загруженного видео, вам нужно будет пройти через API списка видео YouTube , и вам нужно будет стать владельцем видео.

Пример:

GET https://www.googleapis.com/youtube/v3/videos?id=ysk2OzngYIg&part=fileDetails

/**
 * API response
 */
{
  "kind": "youtube#videoListResponse",
  "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/nkmtubhIzKeVfaCtEq3-HIJf0mw\"",
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 1
  },
  "items": [
    {
      "kind": "youtube#video",
      "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/er5srVttLDLwfS6A6I4VKsvOmH4\"",
      "id": "ysk2OzngYIg",
      "fileDetails": {
        "fileName": "sample-coast.mp4",
        "fileSize": "13586259",
        "fileType": "video",
        "container": "mov",
        "videoStreams": [
          {
            "widthPixels": 1920,
            "heightPixels": 1080,
            "frameRateFps": 29.97002997002997,
            "aspectRatio": 1.7777777777777777,
            "codec": "h264",
            "bitrateBps": "4238925"
          }
        ],
        "durationMs": "24290",
        "bitrateBps": "4238925"
      }
    }
  ]
}

Обратите внимание, что вышеуказанный ответ был получен через встроенный API-тестер в их документах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...