{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b7e316cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import re\n",
    "import shutil\n",
    "import time\n",
    "import multiprocessing\n",
    "\n",
    "YOUTUBE_URLS = [\n",
    "    'http://www.youtube.com/watch?v=OzrkFekIbxE',\n",
    "    'http://www.youtube.com/watch?v=PkMdMl_Kv8U',\n",
    "#     'http://www.youtube.com/watch?v=lufaOsruNoY',  # mp4 (TODO: fix later, sometimes stalls)\n",
    "    'http://www.youtube.com/watch?v=bVli8wC6soM',\n",
    "    'http://www.youtube.com/watch?v=4M-QEQheWvU',\n",
    "#     'http://www.youtube.com/watch?v=-SVPi9j_vRE',  # mp4 (TODO: fix later, sometimes stalls)\n",
    "    'http://www.youtube.com/watch?v=Ej4f12q7FRw',\n",
    "#     'http://www.youtube.com/watch?v=Xz_HpdEb_KE',\n",
    "#     'http://www.youtube.com/watch?v=-6hhv9vV9jk',\n",
    "#     'http://www.youtube.com/watch?v=Sht74F_RAI8',\n",
    "#     'http://www.youtube.com/watch?v=Of-w8nwBWTM',\n",
    "]\n",
    "DATA_DIR = \"/home/georg/notebooks/harvesting/test\"\n",
    "\n",
    "# TODO: we want to list formats to handle mp4??"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "id": "c37d15fb",
   "metadata": {},
   "outputs": [],
   "source": [
    "shutil.rmtree(DATA_DIR, ignore_errors=True)\n",
    "os.makedirs(DATA_DIR, exist_ok=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "id": "d2594742",
   "metadata": {},
   "outputs": [],
   "source": [
    "# US_PROXY = (\n",
    "#      \"http://brd-customer-hl_a8c79c59-zone-us_pool:\" +\n",
    "#      \"cdojde57liiz@zproxy.lum-superproxy.io:22225\"\n",
    "# )\n",
    "\n",
    "US_PROXY = (\n",
    "     \"http://brd-customer-hl_a8c79c59-zone-us_pool-route_err-block-country-us:\" +\n",
    "     \"cdojde57liiz@zproxy.lum-superproxy.io:22225\"\n",
    ")\n",
    "\n",
    "PROXY = (\n",
    "     \"http://brd-customer-hl_a8c79c59-zone-youtube-route_err-block-country-us:\" +\n",
    "     \"42ird1k651pr@zproxy.lum-superproxy.io:22225\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "id": "eae4d63e",
   "metadata": {},
   "outputs": [],
   "source": [
    "url = 'http://www.youtube.com/watch?v=OzrkFekIbxE'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "id": "e4fb834e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] OzrkFekIbxE: Downloading webpage\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING: Unable to download webpage: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer>\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] OzrkFekIbxE: Downloading API JSON\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR: Unable to download API page: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer> (caused by URLError(OSError('Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer')))\n"
     ]
    },
    {
     "ename": "DownloadError",
     "evalue": "ERROR: Unable to download API page: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer> (caused by URLError(OSError('Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer')))",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mOSError\u001b[0m                                   Traceback (most recent call last)",
      "\u001b[0;32m/usr/lib/python3.8/urllib/request.py\u001b[0m in \u001b[0;36mdo_open\u001b[0;34m(self, http_class, req, **http_conn_args)\u001b[0m\n\u001b[1;32m   1353\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1354\u001b[0;31m                 h.request(req.get_method(), req.selector, req.data, headers,\n\u001b[0m\u001b[1;32m   1355\u001b[0m                           encode_chunked=req.has_header('Transfer-encoding'))\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36mrequest\u001b[0;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[1;32m   1255\u001b[0m         \u001b[0;34m\"\"\"Send a complete request to the server.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1256\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_send_request\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbody\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mheaders\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1257\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36m_send_request\u001b[0;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[1;32m   1301\u001b[0m             \u001b[0mbody\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_encode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbody\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'body'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1302\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mendheaders\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbody\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mencode_chunked\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1303\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36mendheaders\u001b[0;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[1;32m   1250\u001b[0m             \u001b[0;32mraise\u001b[0m \u001b[0mCannotSendHeader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1251\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_send_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmessage_body\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mencode_chunked\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1252\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36m_send_output\u001b[0;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[1;32m   1010\u001b[0m         \u001b[0;32mdel\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_buffer\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1011\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1012\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36msend\u001b[0;34m(self, data)\u001b[0m\n\u001b[1;32m    950\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_open\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 951\u001b[0;31m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    952\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36mconnect\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m   1417\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1418\u001b[0;31m             \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1419\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36mconnect\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    926\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_tunnel_host\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 927\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_tunnel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    928\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/http/client.py\u001b[0m in \u001b[0;36m_tunnel\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    904\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 905\u001b[0;31m             raise OSError(\"Tunnel connection failed: %d %s\" % (code,\n\u001b[0m\u001b[1;32m    906\u001b[0m                                                                message.strip()))\n",
      "\u001b[0;31mOSError\u001b[0m: Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mURLError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36m_request_webpage\u001b[0;34m(self, url_or_request, video_id, note, errnote, fatal, data, headers, query, expected_status)\u001b[0m\n\u001b[1;32m    633\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 634\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_downloader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0murlopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl_or_request\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    635\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexceptions\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(self, req)\u001b[0m\n\u001b[1;32m   2299\u001b[0m             \u001b[0mreq\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msanitized_Request\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2300\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_opener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_socket_timeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2301\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/urllib/request.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m    524\u001b[0m         \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maudit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'urllib.Request'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_url\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheaders\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 525\u001b[0;31m         \u001b[0mresponse\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_open\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    526\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.8/urllib/request.py\u001b[0m in \u001b[0;36m_open\u001b[0;34m(self, req, data)\u001b[0m\n\u001b[1;32m    541\u001b[0m         \u001b[0mprotocol\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 542\u001b[0;31m         result = self._call_chain(self.handle_open, protocol, protocol +\n\u001b[0m\u001b[1;32m    543\u001b[0m                                   '_open', req)\n",
      "\u001b[0;32m/usr/lib/python3.8/urllib/request.py\u001b[0m in \u001b[0;36m_call_chain\u001b[0;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[1;32m    501\u001b[0m             \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhandler\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 502\u001b[0;31m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    503\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/utils.py\u001b[0m in \u001b[0;36mhttps_open\u001b[0;34m(self, req)\u001b[0m\n\u001b[1;32m   2784\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2785\u001b[0;31m         return self.do_open(functools.partial(\n\u001b[0m\u001b[1;32m   2786\u001b[0m             _create_http_connection, self, conn_class, True),\n",
      "\u001b[0;32m/usr/lib/python3.8/urllib/request.py\u001b[0m in \u001b[0;36mdo_open\u001b[0;34m(self, http_class, req, **http_conn_args)\u001b[0m\n\u001b[1;32m   1356\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# timeout error\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1357\u001b[0;31m                 \u001b[0;32mraise\u001b[0m \u001b[0mURLError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1358\u001b[0m             \u001b[0mr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetresponse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mURLError\u001b[0m: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer>",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mExtractorError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    815\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 816\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    817\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mGeoRestrictedError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36m__extract_info\u001b[0;34m(self, url, ie, download, extra_info, process)\u001b[0m\n\u001b[1;32m    836\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__extract_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mie\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdownload\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra_info\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprocess\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 837\u001b[0;31m         \u001b[0mie_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mie\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextract\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    838\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mie_result\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m  \u001b[0;31m# Finished already (backwards compatibility; listformats and friends should be moved here)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36mextract\u001b[0;34m(self, url)\u001b[0m\n\u001b[1;32m    533\u001b[0m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minitialize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 534\u001b[0;31m                     \u001b[0mie_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_real_extract\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    535\u001b[0m                     \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_x_forwarded_for_ip\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/youtube.py\u001b[0m in \u001b[0;36m_real_extract\u001b[0;34m(self, url)\u001b[0m\n\u001b[1;32m   1681\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mplayer_response\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1682\u001b[0;31m             player_response = self._call_api(\n\u001b[0m\u001b[1;32m   1683\u001b[0m                 'player', {'videoId': video_id}, video_id)\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/youtube.py\u001b[0m in \u001b[0;36m_call_api\u001b[0;34m(self, ep, query, video_id, fatal)\u001b[0m\n\u001b[1;32m    292\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 293\u001b[0;31m         return self._download_json(\n\u001b[0m\u001b[1;32m    294\u001b[0m             \u001b[0;34m'https://www.youtube.com/youtubei/v1/%s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvideo_id\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mvideo_id\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36m_download_json\u001b[0;34m(self, url_or_request, video_id, note, errnote, transform_source, fatal, encoding, data, headers, query, expected_status)\u001b[0m\n\u001b[1;32m    894\u001b[0m         \"\"\"\n\u001b[0;32m--> 895\u001b[0;31m         res = self._download_json_handle(\n\u001b[0m\u001b[1;32m    896\u001b[0m             \u001b[0murl_or_request\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvideo_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnote\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnote\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrnote\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merrnote\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36m_download_json_handle\u001b[0;34m(self, url_or_request, video_id, note, errnote, transform_source, fatal, encoding, data, headers, query, expected_status)\u001b[0m\n\u001b[1;32m    873\u001b[0m         \"\"\"\n\u001b[0;32m--> 874\u001b[0;31m         res = self._download_webpage_handle(\n\u001b[0m\u001b[1;32m    875\u001b[0m             \u001b[0murl_or_request\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvideo_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnote\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrnote\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfatal\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfatal\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36m_download_webpage_handle\u001b[0;34m(self, url_or_request, video_id, note, errnote, fatal, encoding, data, headers, query, expected_status)\u001b[0m\n\u001b[1;32m    666\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 667\u001b[0;31m         \u001b[0murlh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_request_webpage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl_or_request\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvideo_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnote\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrnote\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfatal\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mheaders\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mheaders\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mquery\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mexpected_status\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mexpected_status\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    668\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0murlh\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/extractor/common.py\u001b[0m in \u001b[0;36m_request_webpage\u001b[0;34m(self, url_or_request, video_id, note, errnote, fatal, data, headers, query, expected_status)\u001b[0m\n\u001b[1;32m    651\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mfatal\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 652\u001b[0;31m                 \u001b[0;32mraise\u001b[0m \u001b[0mExtractorError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merrmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcause\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    653\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mExtractorError\u001b[0m: Unable to download API page: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer> (caused by URLError(OSError('Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer')))",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mDownloadError\u001b[0m                             Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_978307/1032098465.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0mt0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0myoutube_dl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mYoutubeDL\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mydl_opts\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mydl\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m     \u001b[0minfo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mydl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextract_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     14\u001b[0m \u001b[0;31m#     error_code = ydl.download([url, YOUTUBE_URLS[0]])\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     15\u001b[0m \u001b[0;31m#     assert(error_code == 0)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36mextract_info\u001b[0;34m(self, url, download, ie_key, extra_info, process, force_generic_extractor)\u001b[0m\n\u001b[1;32m    807\u001b[0m                                     'and will probably not work.')\n\u001b[1;32m    808\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 809\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__extract_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mie\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdownload\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra_info\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprocess\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    810\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    811\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreport_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'no suitable InfoExtractor for URL %s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    823\u001b[0m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreport_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    824\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mExtractorError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m  \u001b[0;31m# An error we somewhat expected\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 825\u001b[0;31m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreport_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcompat_str\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat_traceback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    826\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mMaxDownloadsReached\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    827\u001b[0m                 \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36mreport_error\u001b[0;34m(self, message, tb)\u001b[0m\n\u001b[1;32m    627\u001b[0m             \u001b[0m_msg_header\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'ERROR:'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    628\u001b[0m         \u001b[0merror_message\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'%s %s'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0m_msg_header\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmessage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 629\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrouble\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merror_message\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    630\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    631\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mreport_file_already_downloaded\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/tools/youtube-dl/youtube_dl/YoutubeDL.py\u001b[0m in \u001b[0;36mtrouble\u001b[0;34m(self, message, tb)\u001b[0m\n\u001b[1;32m    597\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    598\u001b[0m                 \u001b[0mexc_info\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 599\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mDownloadError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mexc_info\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    600\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_download_retcode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    601\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mDownloadError\u001b[0m: ERROR: Unable to download API page: <urlopen error Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer> (caused by URLError(OSError('Tunnel connection failed: 400 Proxy Error: ip_requested_not_allocated_by_customer')))"
     ]
    }
   ],
   "source": [
    "import youtube_dl\n",
    "\n",
    "ydl_opts = {\n",
    "    \"format\": \"worstaudio\",\n",
    "    \"outtmpl\": os.path.join(DATA_DIR, \"%(id)s.%(ext)s\"),\n",
    "    \"writesubtitles\": True,\n",
    "    \"allsubtitles\": True,\n",
    "    \"subtitlesformat\": \"best\",\n",
    "    \"proxy\": PROXY,\n",
    "}\n",
    "t0 = time.time()\n",
    "with youtube_dl.YoutubeDL(ydl_opts) as ydl:\n",
    "    info = ydl.extract_info(url)\n",
    "#     error_code = ydl.download([url, YOUTUBE_URLS[0]])\n",
    "#     assert(error_code == 0)\n",
    "t1 = time.time()\n",
    "print(round(t1 - t0, 1), \"seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "25158de7",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "332b2049",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5181ebe2",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c0364d2b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "defbc557",
   "metadata": {},
   "outputs": [],
   "source": [
    "shutil.rmtree(DATA_DIR, ignore_errors=True)\n",
    "os.makedirs(DATA_DIR, exist_ok=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "510934ae",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] OzrkFekIbxE: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/OzrkFekIbxE.webm\n",
      "[download] 100% of 2.15MiB in 00:0036MiB/s ETA 00:002\n",
      "[youtube] PkMdMl_Kv8U: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/PkMdMl_Kv8U.webm\n",
      "[download] 100% of 976.16KiB in 00:0027MiB/s ETA 00:001\n",
      "[youtube] bVli8wC6soM: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/bVli8wC6soM.webm\n",
      "[download] 100% of 1.57MiB in 00:0047MiB/s ETA 00:003\n",
      "[youtube] 4M-QEQheWvU: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/4M-QEQheWvU.webm\n",
      "[download] 100% of 1.15MiB in 00:0047MiB/s ETA 00:002\n",
      "[youtube] Ej4f12q7FRw: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/Ej4f12q7FRw.webm\n",
      "[download] 100% of 1.34MiB in 00:0070MiB/s ETA 00:00known ETA\n",
      "10.6 seconds\n"
     ]
    }
   ],
   "source": [
    "import youtube_dl\n",
    "\n",
    "ydl_opts = {\n",
    "#     \"skip_download\": True,\n",
    "    \"format\": \"worstaudio\",\n",
    "    \"outtmpl\": os.path.join(DATA_DIR, \"%(id)s.%(ext)s\"),\n",
    "#     \"proxy\": US_PROXY,\n",
    "}\n",
    "t0 = time.time()\n",
    "with youtube_dl.YoutubeDL(ydl_opts) as ydl:\n",
    "    ydl.download(YOUTUBE_URLS)\n",
    "t1 = time.time()\n",
    "print(round(t1 - t0, 1), \"seconds\")\n",
    "s = 0\n",
    "for fn in os.listdir(DATA_DIR):\n",
    "    s += os.path.getsize(os.path.join(DATA_DIR, fn))\n",
    "assert(s == 7514746)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "02dcbb41",
   "metadata": {},
   "outputs": [],
   "source": [
    "shutil.rmtree(DATA_DIR, ignore_errors=True)\n",
    "os.makedirs(DATA_DIR, exist_ok=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4314d997",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] PkMdMl_Kv8U: Downloading webpage\n",
      "[youtube] bVli8wC6soM: Downloading webpage\n",
      "[youtube] Ej4f12q7FRw: Downloading webpage\n",
      "[youtube] OzrkFekIbxE: Downloading webpage\n",
      "[youtube] 4M-QEQheWvU: Downloading webpage\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/Ej4f12q7FRw.webm\n",
      "[download]   9.3% of 1.34MiB at  2.70MiB/s ETA 00:002[download] Destination: /home/georg/notebooks/harvesting/test/bVli8wC6soM.webm\n",
      "[download]   1.9% of 1.57MiB at 514.65KiB/s ETA 00:03[download] Destination: /home/georg/notebooks/harvesting/test/PkMdMl_Kv8U.webm\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/4M-QEQheWvU.webm\n",
      "[download]   3.9% of 1.57MiB at 764.94KiB/s ETA 00:0201[download] Destination: /home/georg/notebooks/harvesting/test/OzrkFekIbxE.webm\n",
      "[download] 100% of 1.34MiB in 00:0016MiB/s ETA 00:00000\n",
      "[download] 100% of 976.16KiB in 00:0085MiB/s ETA 00:00\n",
      "[download] 100% of 1.57MiB in 00:0051MiB/s ETA 00:00\n",
      "[download] 100% of 1.15MiB in 00:0092MiB/s ETA 00:00\n",
      "[download] 100% of 2.15MiB in 00:0089MiB/s ETA 00:00\n",
      "2.3 seconds\n"
     ]
    }
   ],
   "source": [
    "ydl_opts = {\n",
    "#     \"skip_download\": True,\n",
    "    \"format\": \"worstaudio\",\n",
    "    \"outtmpl\": os.path.join(DATA_DIR, \"%(id)s.%(ext)s\"),\n",
    "#     \"proxy\": US_PROXY,\n",
    "}\n",
    "def foo(url):\n",
    "    with youtube_dl.YoutubeDL(ydl_opts) as ydl:\n",
    "        ydl.download([url])\n",
    "    \n",
    "p = multiprocessing.Pool(5)\n",
    "t0 = time.time()\n",
    "p.map(foo, YOUTUBE_URLS)\n",
    "t1 = time.time()\n",
    "print(round(t1 - t0, 1), \"seconds\")\n",
    "p.close()\n",
    "p.join()\n",
    "s = 0\n",
    "for fn in os.listdir(DATA_DIR):\n",
    "    s += os.path.getsize(os.path.join(DATA_DIR, fn))\n",
    "assert(s == 7514746)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "e514e0a7",
   "metadata": {},
   "outputs": [],
   "source": [
    "shutil.rmtree(DATA_DIR, ignore_errors=True)\n",
    "os.makedirs(DATA_DIR, exist_ok=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d3fe781",
   "metadata": {},
   "source": [
    "## try other package"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "da179da1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] OzrkFekIbxE: Downloading webpage\n",
      "[youtube] OzrkFekIbxE: Downloading android player API JSON\n",
      "[info] OzrkFekIbxE: Downloading 1 format(s): 139\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/OzrkFekIbxE.m4a\n",
      "[download] 100% of    1.60MiB in 00:00:00 at 3.97MiB/s     \n",
      "[FixupM4a] Correcting container of \"/home/georg/notebooks/harvesting/test/OzrkFekIbxE.m4a\"\n",
      "[youtube] PkMdMl_Kv8U: Downloading webpage\n",
      "[youtube] PkMdMl_Kv8U: Downloading android player API JSON\n",
      "[info] PkMdMl_Kv8U: Downloading 1 format(s): 599\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/PkMdMl_Kv8U.m4a\n",
      "[download] 100% of  626.18KiB in 00:00:01 at 329.39KiB/s \n",
      "[FixupM4a] Correcting container of \"/home/georg/notebooks/harvesting/test/PkMdMl_Kv8U.m4a\"\n",
      "[youtube] bVli8wC6soM: Downloading webpage\n",
      "[youtube] bVli8wC6soM: Downloading android player API JSON\n",
      "[info] bVli8wC6soM: Downloading 1 format(s): 139\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/bVli8wC6soM.m4a\n",
      "[download] 100% of    1.36MiB in 00:00:00 at 1.77MiB/s     \n",
      "[FixupM4a] Correcting container of \"/home/georg/notebooks/harvesting/test/bVli8wC6soM.m4a\"\n",
      "[youtube] 4M-QEQheWvU: Downloading webpage\n",
      "[youtube] 4M-QEQheWvU: Downloading android player API JSON\n",
      "[info] 4M-QEQheWvU: Downloading 1 format(s): 139\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/4M-QEQheWvU.m4a\n",
      "[download] 100% of    1.10MiB in 00:00:00 at 1.63MiB/s     \n",
      "[FixupM4a] Correcting container of \"/home/georg/notebooks/harvesting/test/4M-QEQheWvU.m4a\"\n",
      "[youtube] Ej4f12q7FRw: Downloading webpage\n",
      "[youtube] Ej4f12q7FRw: Downloading android player API JSON\n",
      "[info] Ej4f12q7FRw: Downloading 1 format(s): 139\n",
      "[download] Destination: /home/georg/notebooks/harvesting/test/Ej4f12q7FRw.m4a\n",
      "[download] 100% of    1.26MiB in 00:00:00 at 1.49MiB/s   \n",
      "[FixupM4a] Correcting container of \"/home/georg/notebooks/harvesting/test/Ej4f12q7FRw.m4a\"\n",
      "29.9 seconds\n"
     ]
    }
   ],
   "source": [
    "import yt_dlp\n",
    "\n",
    "ydl_opts = {\n",
    "    'format': 'worstaudio',\n",
    "    \"outtmpl\": os.path.join(DATA_DIR, \"%(id)s.%(ext)s\"),\n",
    "#     'postprocessors': [{  # Extract audio using ffmpeg\n",
    "#         'key': 'FFmpegExtractAudio',\n",
    "#         'preferredcodec': 'm4a',\n",
    "#     }],\n",
    "}\n",
    "\n",
    "t0 = time.time()\n",
    "for n in range(5):\n",
    "    with yt_dlp.YoutubeDL(ydl_opts) as ydl:\n",
    "        error_code = ydl.download([YOUTUBE_URLS[n]])\n",
    "t1 = time.time()\n",
    "print(round(t1 - t0, 1), \"seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e072ef6b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b3572b43",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cdbc48a5",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "250899c9",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # logging\n",
    "# import yt_dlp\n",
    "\n",
    "# INFO_FILE = 'path/to/video.info.json'\n",
    "\n",
    "# with yt_dlp.YoutubeDL() as ydl:\n",
    "#     error_code = ydl.download_with_info_file(INFO_FILE)\n",
    "\n",
    "# print('Some videos failed to download' if error_code\n",
    "#       else 'All videos successfully downloaded')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "d3530a5a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[youtube] kDA-phXyYH8: Downloading webpage\n",
      "[youtube] kDA-phXyYH8: Downloading android player API JSON\n",
      "[]\n"
     ]
    }
   ],
   "source": [
    "# see if we can get info on language\n",
    "import json\n",
    "import yt_dlp\n",
    "\n",
    "url = \"https://www.youtube.com/watch?v=kDA-phXyYH8\"  # english\n",
    "# url = \"https://www.youtube.com/watch?v=GOg1mX48tXU\"  # german\n",
    "\n",
    "ydl_opts = {}\n",
    "with yt_dlp.YoutubeDL(ydl_opts) as ydl:\n",
    "    info = ydl.extract_info(url, download=False)\n",
    "    json_info = ydl.sanitize_info(info)\n",
    "    print([k for k in json_info[\"automatic_captions\"].keys() if k.endswith(\"orig\")])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "536e5d9b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'id': 'kDA-phXyYH8',\n",
       " 'title': 'Blockbuster | Official Trailer | Netflix',\n",
       " 'formats': [{'format_id': 'sb2',\n",
       "   'format_note': 'storyboard',\n",
       "   'ext': 'mhtml',\n",
       "   'protocol': 'mhtml',\n",
       "   'acodec': 'none',\n",
       "   'vcodec': 'none',\n",
       "   'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLCuWZtAlju7wTWxh-9WZd8hdcRkDw',\n",
       "   'width': 48,\n",
       "   'height': 27,\n",
       "   'fps': 0.7142857142857143,\n",
       "   'rows': 10,\n",
       "   'columns': 10,\n",
       "   'fragments': [{'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLCuWZtAlju7wTWxh-9WZd8hdcRkDw',\n",
       "     'duration': 140.0}],\n",
       "   'audio_ext': 'none',\n",
       "   'video_ext': 'none',\n",
       "   'format': 'sb2 - 48x27 (storyboard)',\n",
       "   'resolution': '48x27',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'format_id': 'sb1',\n",
       "   'format_note': 'storyboard',\n",
       "   'ext': 'mhtml',\n",
       "   'protocol': 'mhtml',\n",
       "   'acodec': 'none',\n",
       "   'vcodec': 'none',\n",
       "   'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L1/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDvOYL2HlAbY3ZRfPtW-p-s3FUDbQ',\n",
       "   'width': 80,\n",
       "   'height': 45,\n",
       "   'fps': 0.5071428571428571,\n",
       "   'rows': 10,\n",
       "   'columns': 10,\n",
       "   'fragments': [{'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L1/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDvOYL2HlAbY3ZRfPtW-p-s3FUDbQ',\n",
       "     'duration': 140.0}],\n",
       "   'audio_ext': 'none',\n",
       "   'video_ext': 'none',\n",
       "   'format': 'sb1 - 80x45 (storyboard)',\n",
       "   'resolution': '80x45',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'format_id': 'sb0',\n",
       "   'format_note': 'storyboard',\n",
       "   'ext': 'mhtml',\n",
       "   'protocol': 'mhtml',\n",
       "   'acodec': 'none',\n",
       "   'vcodec': 'none',\n",
       "   'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L2/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDUoBVml3MVEy_Cvqr08niorev8ng',\n",
       "   'width': 160,\n",
       "   'height': 90,\n",
       "   'fps': 0.5071428571428571,\n",
       "   'rows': 5,\n",
       "   'columns': 5,\n",
       "   'fragments': [{'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L2/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDUoBVml3MVEy_Cvqr08niorev8ng',\n",
       "     'duration': 49.29577464788733},\n",
       "    {'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L2/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDUoBVml3MVEy_Cvqr08niorev8ng',\n",
       "     'duration': 49.29577464788733},\n",
       "    {'url': 'https://i.ytimg.com/sb/kDA-phXyYH8/storyboard3_L2/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgil2eyZBg==&sigh=rs$AOn4CLDUoBVml3MVEy_Cvqr08niorev8ng',\n",
       "     'duration': 41.408450704225345}],\n",
       "   'audio_ext': 'none',\n",
       "   'video_ext': 'none',\n",
       "   'format': 'sb0 - 160x90 (storyboard)',\n",
       "   'resolution': '160x90',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 22050,\n",
       "   'filesize': 539356,\n",
       "   'format_id': '599',\n",
       "   'format_note': 'ultralow',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 1,\n",
       "   'has_drm': False,\n",
       "   'tbr': 30.827,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=599&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=539356&dur=139.969&lmt=1665480283245277&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgLn2PL2aZrqdm0z9-yhr6-yx-byXYsHV5q2slCIDSHmkCIFEWku4iZcJf5O0qhhPYBdMYj37JK_dRHWU4WRUCzJ4z&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'm4a',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'mp4a.40.5',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 30.827,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'm4a_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'm4a',\n",
       "   'video_ext': 'none',\n",
       "   'format': '599 - audio only (ultralow)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 48000,\n",
       "   'filesize': 512912,\n",
       "   'format_id': '600',\n",
       "   'format_note': 'ultralow',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 1,\n",
       "   'has_drm': False,\n",
       "   'tbr': 29.334,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=600&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=512912&dur=139.881&lmt=1665480283440765&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgTh3O0EUvVuerj6KFgmzUf1cqnTi6p7CZyqkPtwtaj6kCIQDy8tv-EiCr6JbbLYO8ywlUQXTndEdbUyRUAY82JyZiZA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'opus',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 29.334,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'webm',\n",
       "   'video_ext': 'none',\n",
       "   'format': '600 - audio only (ultralow)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 22050,\n",
       "   'filesize': 854288,\n",
       "   'format_id': '139',\n",
       "   'format_note': 'low',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 2,\n",
       "   'has_drm': False,\n",
       "   'tbr': 48.827,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=139&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=854288&dur=139.969&lmt=1665481556156139&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAL2dADKL8Jb-xZ-xtzIJBe5lrJv-4LKAnLbE1oLo70KfAiBzpp0OlbGCwVF2F92Cegs7VIp6961W_3eGgtiaBpCK7Q%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'm4a',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'mp4a.40.5',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 48.827,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'm4a_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'm4a',\n",
       "   'video_ext': 'none',\n",
       "   'format': '139 - audio only (low)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 48000,\n",
       "   'filesize': 751828,\n",
       "   'format_id': '249',\n",
       "   'format_note': 'low',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 2,\n",
       "   'has_drm': False,\n",
       "   'tbr': 42.998,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=249&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=751828&dur=139.881&lmt=1665480343258684&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAItjyMT37pxEqI82R6fiP8mESN9AxZRL3nvTcwWGYnq7AiEAm2KthJIII3jBeUE9Eeijf7EJ4c-6fNa9i97e86jiCl4%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'opus',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 42.998,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'webm',\n",
       "   'video_ext': 'none',\n",
       "   'format': '249 - audio only (low)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 48000,\n",
       "   'filesize': 926922,\n",
       "   'format_id': '250',\n",
       "   'format_note': 'low',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 2,\n",
       "   'has_drm': False,\n",
       "   'tbr': 53.012,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=250&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=926922&dur=139.881&lmt=1665480283339087&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhALH0lgeHvEmu-v370D-_hGGUJiZcwTyVfnqgqzVs8hn9AiA6_o9a7IUVKgdFjXB6zpFlCIOGAmecRq0ZX8WMNUMEhg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'opus',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 53.012,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'webm',\n",
       "   'video_ext': 'none',\n",
       "   'format': '250 - audio only (low)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 44100,\n",
       "   'filesize': 2264907,\n",
       "   'format_id': '140',\n",
       "   'format_note': 'medium',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 3,\n",
       "   'has_drm': False,\n",
       "   'tbr': 129.515,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=140&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fmp4&gir=yes&clen=2264907&dur=139.900&lmt=1665480284622490&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAOzgtd1Phxdc7DfBsJUq99sPGlJ3zJDWzoIxGIJgQThsAiEA54ydWe6kCxhGflHlE-QyYrk0lHrWrlKzbW2eC678M_Y%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'm4a',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'mp4a.40.2',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 129.515,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'm4a_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'm4a',\n",
       "   'video_ext': 'none',\n",
       "   'format': '140 - audio only (medium)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 48000,\n",
       "   'filesize': 1766940,\n",
       "   'format_id': '251',\n",
       "   'format_note': 'medium',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 3,\n",
       "   'has_drm': False,\n",
       "   'tbr': 101.053,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=251&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=1766940&dur=139.881&lmt=1665480283981638&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAOH6oYbz-jTkyjlA7MDOW73SSw7CTQ6xx5hCXqtpH2lKAiEAteVl7xpvyWpt-nU50KEODJU6ShQLLodvMrn8SbXPDlA%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'opus',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 101.053,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'webm',\n",
       "   'video_ext': 'none',\n",
       "   'format': '251 - audio only (medium)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 22050,\n",
       "   'filesize': 1284190,\n",
       "   'format_id': '17',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 12,\n",
       "   'audio_channels': 1,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 73.398,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=17&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2F3gpp&gir=yes&clen=1284190&dur=139.969&lmt=1665482881803193&mt=1665771453&fvip=4&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgJQOkpr-XBnz67XqZrCS1VW6H5MSqrqQbzciK0b3hMxICIQDyzAck17l5CLK1unQc9OZIP_XK0N6KriucTZJ6WquafQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 176,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': -2,\n",
       "   'ext': '3gp',\n",
       "   'vcodec': 'mp4v.20.3',\n",
       "   'acodec': 'mp4a.40.2',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': '3gp',\n",
       "   'audio_ext': 'none',\n",
       "   'vbr': 73.398,\n",
       "   'abr': 0.0,\n",
       "   'format': '17 - 176x144 (144p)',\n",
       "   'resolution': '176x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 555372,\n",
       "   'format_id': '597',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 12,\n",
       "   'audio_channels': None,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 31.779,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=597&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=555372&dur=139.806&lmt=1665482411621335&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgYmhfUfsEo5sJRR0C967cFc-HifRwiaJnndMkZKu8pdwCICenlwEKbcMtdUDQ-6hAjA6wxdXmoRk1S8Xk2GcFvF1s&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 256,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d400b',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 31.779,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '597 - 256x144 (144p)',\n",
       "   'resolution': '256x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 415492,\n",
       "   'format_id': '598',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 12,\n",
       "   'audio_channels': None,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 23.768,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=598&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=415492&dur=139.848&lmt=1665482638091974&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgDENy3YS_eyYLC-yLJDGmErJqSWdEmCxf1qjmu-OvaXQCIQD1ZKtFFH5iWOcL88qX5AhGvqQVcOat36AdZ4sOzxhfaw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 256,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 23.768,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '598 - 256x144 (144p)',\n",
       "   'resolution': '256x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 1055792,\n",
       "   'format_id': '394',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 60.396,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=394&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1055792&dur=139.848&lmt=1665482649316599&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgOcAwnJ0ULxwxqANbaA1Y1PRwT4lq_9_ZpINd7AkC5EwCIQD1D0Qtsifa1xDkz2efGivvtqYSiFdwTnQsbiP6akT3ig%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 256,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.00M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 60.396,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '394 - 256x144 (144p)',\n",
       "   'resolution': '256x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 871274,\n",
       "   'format_id': '160',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 49.841,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=160&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=871274&dur=139.848&lmt=1665484477133628&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgDZPqfiib2ZTYTrPq21gpC8Y0hKUGiC_6hXoWhGJqpTECIFnXwlA_lwMr-zJFw_tCT-40NrVlq2rhZi5XDCKoqhST&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 256,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d400c',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 49.841,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '160 - 256x144 (144p)',\n",
       "   'resolution': '256x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 1404490,\n",
       "   'format_id': '278',\n",
       "   'format_note': '144p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 144,\n",
       "   'quality': 0,\n",
       "   'has_drm': False,\n",
       "   'tbr': 80.343,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=278&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=1404490&dur=139.848&lmt=1665487769506619&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgIbmaCmbCjyxbrdlNzAK6ca_kMW-RTzZtrPC_g_PD0fgCIQCPFcNgrQ96v1JpF3kBSdZq-2VZfpt3W-P6D-MllYrCKA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 256,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 80.343,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '278 - 256x144 (144p)',\n",
       "   'resolution': '256x144',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 1703574,\n",
       "   'format_id': '395',\n",
       "   'format_note': '240p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 240,\n",
       "   'quality': 5,\n",
       "   'has_drm': False,\n",
       "   'tbr': 97.452,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=395&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1703574&dur=139.848&lmt=1665483312912905&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgPnouUgP_UsGBDi87rsBK5iXKW_nUHbYavN5bqedPL6YCIDIK6nPXeZofBpPDBP3kXuMoumb69FVJGGjTRmESAwBr&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 426,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.00M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 97.452,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '395 - 426x240 (240p)',\n",
       "   'resolution': '426x240',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 1411291,\n",
       "   'format_id': '133',\n",
       "   'format_note': '240p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 240,\n",
       "   'quality': 5,\n",
       "   'has_drm': False,\n",
       "   'tbr': 80.732,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=133&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=1411291&dur=139.848&lmt=1665484938170960&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgDZP_yu7RiUB0MrQPX9L1sG0HBF2j92CNqYN9eoRrxPcCIH4KubZwCQi0c8Q3iftbwDTBLfYXiLEyFgdwSu8LRU_8&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 426,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d4015',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 80.732,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '133 - 426x240 (240p)',\n",
       "   'resolution': '426x240',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 1960738,\n",
       "   'format_id': '242',\n",
       "   'format_note': '240p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 240,\n",
       "   'quality': 5,\n",
       "   'has_drm': False,\n",
       "   'tbr': 112.163,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=242&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=1960738&dur=139.848&lmt=1665487482847208&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAP3XcAxJyK9WAk35cWK_dyjzLBBwdryiKhvMg1FpBZkZAiB0Uhr2qb-55oHeXrSAQG_tUb-r-dY2RFPpn-iJ-kQ8Sg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 426,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 112.163,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '242 - 426x240 (240p)',\n",
       "   'resolution': '426x240',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 3079214,\n",
       "   'format_id': '396',\n",
       "   'format_note': '360p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 360,\n",
       "   'quality': 6,\n",
       "   'has_drm': False,\n",
       "   'tbr': 176.146,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=396&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=3079214&dur=139.848&lmt=1665482638025736&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAOU6WgVEg8R88tTRcGVkBWdlnCueUz4ACeVhbtZHd7EWAiEA8zGAAtHecT4L5BK7nfUlzF_eAEGgPnzRXLLdf5Gh2JQ%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 640,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.01M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 176.146,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '396 - 640x360 (360p)',\n",
       "   'resolution': '640x360',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 2404673,\n",
       "   'format_id': '134',\n",
       "   'format_note': '360p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 360,\n",
       "   'quality': 6,\n",
       "   'has_drm': False,\n",
       "   'tbr': 137.559,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=134&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=2404673&dur=139.848&lmt=1665484461032358&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAL_z19syMKOJ1Bn1WAHN-AjQclwO-l6cDrQp6oc8v2EoAiB_xjAYfHJv5WNbagKRsN40zikznU8pyF9BXZB1mP3x8Q%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 640,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d401e',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 137.559,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '134 - 640x360 (360p)',\n",
       "   'resolution': '640x360',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 44100,\n",
       "   'filesize': 7284676,\n",
       "   'format_id': '18',\n",
       "   'format_note': '360p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': 2,\n",
       "   'height': 360,\n",
       "   'quality': 6,\n",
       "   'has_drm': False,\n",
       "   'tbr': 416.564,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=18&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=7284676&ratebypass=yes&dur=139.900&lmt=1665482874483632&mt=1665771453&fvip=4&fexp=24001373%2C24007246&c=ANDROID&txp=4538434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgXio25B2RZKjsUrgP89YT3xoWWNwfQTLDUlbLuEFRvLMCIQCa2K-62BvQhKnFzsODfmL9T3YoiJ2FD-aWN4mYpWJZkA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 640,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.42001E',\n",
       "   'acodec': 'mp4a.40.2',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'vbr': 416.564,\n",
       "   'abr': 0.0,\n",
       "   'format': '18 - 640x360 (360p)',\n",
       "   'resolution': '640x360',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 3265823,\n",
       "   'format_id': '243',\n",
       "   'format_note': '360p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 360,\n",
       "   'quality': 6,\n",
       "   'has_drm': False,\n",
       "   'tbr': 186.821,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=243&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=3265823&dur=139.848&lmt=1665487332680185&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAIYMCNhq0bT8eX2g6-D2F4c_wIlbdISpvcSLw1wS3_wzAiBvQnkkeuGwyoYgmBKSY2BhEzGawS1zP2CLPzEgiYuLQw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 640,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 186.821,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '243 - 640x360 (360p)',\n",
       "   'resolution': '640x360',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 5151743,\n",
       "   'format_id': '397',\n",
       "   'format_note': '480p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 480,\n",
       "   'quality': 7,\n",
       "   'has_drm': False,\n",
       "   'tbr': 294.705,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=397&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=5151743&dur=139.848&lmt=1665485833173340&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMr26-Fsm3y1P3pFCnsCCZ4ZF1CK83WvZ3cRlIKHKqRAAiBhBRI550HTVwW9lGLceBKwxYVQ6aDbJ6MCh4tb4ITRWg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 854,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.04M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 294.705,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '397 - 854x480 (480p)',\n",
       "   'resolution': '854x480',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 3612589,\n",
       "   'format_id': '135',\n",
       "   'format_note': '480p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 480,\n",
       "   'quality': 7,\n",
       "   'has_drm': False,\n",
       "   'tbr': 206.658,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=135&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=3612589&dur=139.848&lmt=1665484708691964&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgOs3IvCh1GEGSbNM9r0IjHgYJ1cGW6giOyFihr2LO-FECIQDjxQ7ldAdzf_Wkf4brLCA1WPrK2oSg7TzMPFbThHZXKw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 854,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d401e',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 206.658,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '135 - 854x480 (480p)',\n",
       "   'resolution': '854x480',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 4679617,\n",
       "   'format_id': '244',\n",
       "   'format_note': '480p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 480,\n",
       "   'quality': 7,\n",
       "   'has_drm': False,\n",
       "   'tbr': 267.697,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=244&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=4679617&dur=139.848&lmt=1665487461123534&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAKooEldoAXmDKXV4QNYOujy_o9BpM8oiQmkPIHNmZignAiEAxqAHCYM5ajM2LZsQPdGS1SOOMG22ZhjI9qbIk7AIZnU%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 854,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 267.697,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '244 - 854x480 (480p)',\n",
       "   'resolution': '854x480',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 44100,\n",
       "   'filesize': None,\n",
       "   'format_id': '22',\n",
       "   'format_note': '720p',\n",
       "   'source_preference': -5,\n",
       "   'fps': 24,\n",
       "   'audio_channels': 2,\n",
       "   'height': 720,\n",
       "   'quality': 8,\n",
       "   'has_drm': False,\n",
       "   'tbr': 489.863,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=22&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&cnr=14&ratebypass=yes&dur=139.900&lmt=1665485000221471&mt=1665771453&fvip=4&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Ccnr%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRQIgFthUwebz7N5mnDycG0S52S_a1VK12AN88xLoeIbe2NECIQCwj5G5axPjCdvJ1efiLjPJ7qNAZCRl5MCqrFv-B6ZCtA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1280,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.64001F',\n",
       "   'acodec': 'mp4a.40.2',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'vbr': 489.863,\n",
       "   'abr': 0.0,\n",
       "   'format': '22 - 1280x720 (720p)',\n",
       "   'resolution': '1280x720',\n",
       "   'filesize_approx': 8778344,\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 9239417,\n",
       "   'format_id': '398',\n",
       "   'format_note': '720p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 720,\n",
       "   'quality': 8,\n",
       "   'has_drm': False,\n",
       "   'tbr': 528.54,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=398&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=9239417&dur=139.848&lmt=1665484084087742&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAJ3yJW3LJRnjodXf0YAymjG2eOkHjGkPfCJTtnig08vTAiEAktg8od54X_FGCDi2JJ5-vxa_HEJrr-iN9Uc7BgahqgQ%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1280,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.05M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 528.54,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '398 - 1280x720 (720p)',\n",
       "   'resolution': '1280x720',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 6308445,\n",
       "   'format_id': '136',\n",
       "   'format_note': '720p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 720,\n",
       "   'quality': 8,\n",
       "   'has_drm': False,\n",
       "   'tbr': 360.874,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=136&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=6308445&dur=139.848&lmt=1665484534429348&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgBiaw7snlJwrkvPja6bIC7w-9jveq2JJ7O5XgOUWyQKgCIAkNCFW5a1EW4Nt4YJ20uNGfIYcq3nVDuSsuhCXkEL2j&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1280,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.4d401f',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 360.874,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '136 - 1280x720 (720p)',\n",
       "   'resolution': '1280x720',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 6888929,\n",
       "   'format_id': '247',\n",
       "   'format_note': '720p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 720,\n",
       "   'quality': 8,\n",
       "   'has_drm': False,\n",
       "   'tbr': 394.08,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=247&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=6888929&dur=139.848&lmt=1665487482752089&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgFTMvURxa1Ouy1w4EWF3NX73mX8fmQKWwkgmK-j-yX50CIQCTa3zcAPE2Ht5-zS8-5AwrZf6L_GJXOK22UP7P6nBucQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1280,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 394.08,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '247 - 1280x720 (720p)',\n",
       "   'resolution': '1280x720',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 16108505,\n",
       "   'format_id': '399',\n",
       "   'format_note': '1080p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 1080,\n",
       "   'quality': 9,\n",
       "   'has_drm': False,\n",
       "   'tbr': 921.486,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=399&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=16108505&dur=139.848&lmt=1665484060061324&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAL7gPIwv-audMfpFUuSef6OehuxTMC6Je-ZtBehPVqErAiA5KlAjFoGd0SKe4ypvia3I9RCclWH5MHU1EuCi-f0tPA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1920,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'av01.0.08M.08',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 921.486,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '399 - 1920x1080 (1080p)',\n",
       "   'resolution': '1920x1080',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 21950303,\n",
       "   'format_id': '137',\n",
       "   'format_note': '1080p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 1080,\n",
       "   'quality': 9,\n",
       "   'has_drm': False,\n",
       "   'tbr': 1255.666,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=137&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fmp4&gir=yes&clen=21950303&dur=139.848&lmt=1665484931604535&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgAihX38Vp6NH8Ou90-wTHhybk7g4v20vFcpZyLvZm-1kCIDpWMRtSG0uUYyH336ThtKaxK177BPcfHC63meUT4FTJ&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1920,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'mp4',\n",
       "   'vcodec': 'avc1.640028',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 1255.666,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'mp4_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'mp4',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '137 - 1920x1080 (1080p)',\n",
       "   'resolution': '1920x1080',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': None,\n",
       "   'filesize': 18945241,\n",
       "   'format_id': '248',\n",
       "   'format_note': '1080p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 1080,\n",
       "   'quality': 9,\n",
       "   'has_drm': False,\n",
       "   'tbr': 1083.761,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=248&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=18945241&dur=139.848&lmt=1665487463347986&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgDFczBOf0ToSz0if2GCJ21BOaimXJdxERZWv45oVwhE4CICx7N7SkKSCeUg8d4FvDwYdUceHwzcLrPY559y_2TcKF&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1920,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 1083.761,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '248 - 1920x1080 (1080p)',\n",
       "   'resolution': '1920x1080',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}}],\n",
       " 'thumbnails': [{'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/3.jpg',\n",
       "   'preference': -37,\n",
       "   'id': '0'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/3.webp',\n",
       "   'preference': -36,\n",
       "   'id': '1'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/2.jpg',\n",
       "   'preference': -35,\n",
       "   'id': '2'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/2.webp',\n",
       "   'preference': -34,\n",
       "   'id': '3'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/1.jpg',\n",
       "   'preference': -33,\n",
       "   'id': '4'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/1.webp',\n",
       "   'preference': -32,\n",
       "   'id': '5'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/mq3.jpg',\n",
       "   'preference': -31,\n",
       "   'id': '6'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/mq3.webp',\n",
       "   'preference': -30,\n",
       "   'id': '7'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/mq2.jpg',\n",
       "   'preference': -29,\n",
       "   'id': '8'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/mq2.webp',\n",
       "   'preference': -28,\n",
       "   'id': '9'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/mq1.jpg',\n",
       "   'preference': -27,\n",
       "   'id': '10'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/mq1.webp',\n",
       "   'preference': -26,\n",
       "   'id': '11'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hq3.jpg',\n",
       "   'preference': -25,\n",
       "   'id': '12'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/hq3.webp',\n",
       "   'preference': -24,\n",
       "   'id': '13'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hq2.jpg',\n",
       "   'preference': -23,\n",
       "   'id': '14'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/hq2.webp',\n",
       "   'preference': -22,\n",
       "   'id': '15'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hq1.jpg',\n",
       "   'preference': -21,\n",
       "   'id': '16'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/hq1.webp',\n",
       "   'preference': -20,\n",
       "   'id': '17'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/sd3.jpg',\n",
       "   'preference': -19,\n",
       "   'id': '18'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/sd3.webp',\n",
       "   'preference': -18,\n",
       "   'id': '19'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/sd2.jpg',\n",
       "   'preference': -17,\n",
       "   'id': '20'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/sd2.webp',\n",
       "   'preference': -16,\n",
       "   'id': '21'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/sd1.jpg',\n",
       "   'preference': -15,\n",
       "   'id': '22'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/sd1.webp',\n",
       "   'preference': -14,\n",
       "   'id': '23'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/default.jpg',\n",
       "   'height': 90,\n",
       "   'width': 120,\n",
       "   'preference': -13,\n",
       "   'id': '24',\n",
       "   'resolution': '120x90'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/default.webp',\n",
       "   'preference': -12,\n",
       "   'id': '25'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/mqdefault.jpg',\n",
       "   'height': 180,\n",
       "   'width': 320,\n",
       "   'preference': -11,\n",
       "   'id': '26',\n",
       "   'resolution': '320x180'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/mqdefault.webp',\n",
       "   'preference': -10,\n",
       "   'id': '27'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/0.jpg',\n",
       "   'preference': -9,\n",
       "   'id': '28'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/0.webp',\n",
       "   'preference': -8,\n",
       "   'id': '29'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCjkpPlWMfhexIXEVtou23-shHetw',\n",
       "   'height': 94,\n",
       "   'width': 168,\n",
       "   'preference': -7,\n",
       "   'id': '30',\n",
       "   'resolution': '168x94'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBRpB0ywuUzAow6jQx_rLhFeg6esw',\n",
       "   'height': 110,\n",
       "   'width': 196,\n",
       "   'preference': -7,\n",
       "   'id': '31',\n",
       "   'resolution': '196x110'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLNiANcX7evy61iX0Mr0lrHTVxHQ',\n",
       "   'height': 138,\n",
       "   'width': 246,\n",
       "   'preference': -7,\n",
       "   'id': '32',\n",
       "   'resolution': '246x138'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBFi2TiRKipRV3DO6Vpjs5UxxfXnQ',\n",
       "   'height': 188,\n",
       "   'width': 336,\n",
       "   'preference': -7,\n",
       "   'id': '33',\n",
       "   'resolution': '336x188'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hqdefault.jpg',\n",
       "   'height': 360,\n",
       "   'width': 480,\n",
       "   'preference': -7,\n",
       "   'id': '34',\n",
       "   'resolution': '480x360'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/hqdefault.webp',\n",
       "   'preference': -6,\n",
       "   'id': '35'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/sddefault.jpg',\n",
       "   'height': 480,\n",
       "   'width': 640,\n",
       "   'preference': -5,\n",
       "   'id': '36',\n",
       "   'resolution': '640x480'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/sddefault.webp',\n",
       "   'preference': -4,\n",
       "   'id': '37'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/hq720.jpg',\n",
       "   'preference': -3,\n",
       "   'id': '38'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/hq720.webp',\n",
       "   'preference': -2,\n",
       "   'id': '39'},\n",
       "  {'url': 'https://i.ytimg.com/vi/kDA-phXyYH8/maxresdefault.jpg',\n",
       "   'height': 1080,\n",
       "   'width': 1920,\n",
       "   'preference': -1,\n",
       "   'id': '40',\n",
       "   'resolution': '1920x1080'},\n",
       "  {'url': 'https://i.ytimg.com/vi_webp/kDA-phXyYH8/maxresdefault.webp',\n",
       "   'preference': 0,\n",
       "   'id': '41'}],\n",
       " 'thumbnail': 'https://i.ytimg.com/vi/kDA-phXyYH8/maxresdefault.jpg',\n",
       " 'description': \"After learning he is managing the last Blockbuster Video in America, Timmy and his employees fight to stay afloat. Blockbuster Season 1, starring Randall Park and Melissa Fumero, premieres November 3, only on Netflix.\\r\\n\\r\\nSUBSCRIBE: http://bit.ly/29qBUt7\\r\\n\\r\\nAbout Netflix:\\r\\nNetflix is the world's leading streaming entertainment service with 221 million paid memberships in over 190 countries enjoying TV series, documentaries, feature films and mobile games across a wide variety of genres and languages. Members can watch as much as they want, anytime, anywhere, on any Internet-connected screen. Members can play, pause and resume watching, all without commercials or commitments.\\r\\n\\r\\nBlockbuster | Official Trailer | Netflix\\r\\nhttps://youtube.com/Netflix\\r\\n\\r\\nAt the last remaining Blockbuster, a hardworking manager fights to keep his video store open and staff happy amid competition and complicated feelings.\",\n",
       " 'uploader': 'Netflix',\n",
       " 'uploader_id': 'NewOnNetflix',\n",
       " 'uploader_url': 'http://www.youtube.com/user/NewOnNetflix',\n",
       " 'channel_id': 'UCWOA1ZGywLbqmigxE4Qlvuw',\n",
       " 'channel_url': 'https://www.youtube.com/channel/UCWOA1ZGywLbqmigxE4Qlvuw',\n",
       " 'duration': 140,\n",
       " 'view_count': 3619257,\n",
       " 'average_rating': None,\n",
       " 'age_limit': 0,\n",
       " 'webpage_url': 'https://www.youtube.com/watch?v=kDA-phXyYH8',\n",
       " 'categories': ['Entertainment'],\n",
       " 'tags': ['Bend Oregon Blockbuster',\n",
       "  'Blockbuster on Netflix',\n",
       "  'Blockbuster trailer',\n",
       "  'Comedy',\n",
       "  'Comedy Series',\n",
       "  'Funny Show',\n",
       "  'JB Smoove',\n",
       "  'Last Blockbuster',\n",
       "  'Melissa Fumero',\n",
       "  'Netflix Trailer',\n",
       "  'Randall Park'],\n",
       " 'playable_in_embed': True,\n",
       " 'live_status': 'not_live',\n",
       " 'release_timestamp': None,\n",
       " 'automatic_captions': {},\n",
       " 'subtitles': {'en-US': [{'ext': 'json3',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=json3',\n",
       "    'name': 'English (United States)'},\n",
       "   {'ext': 'srv1',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=srv1',\n",
       "    'name': 'English (United States)'},\n",
       "   {'ext': 'srv2',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=srv2',\n",
       "    'name': 'English (United States)'},\n",
       "   {'ext': 'srv3',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=srv3',\n",
       "    'name': 'English (United States)'},\n",
       "   {'ext': 'ttml',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=ttml',\n",
       "    'name': 'English (United States)'},\n",
       "   {'ext': 'vtt',\n",
       "    'url': 'https://www.youtube.com/api/timedtext?v=kDA-phXyYH8&xoaf=5&hl=en&ip=0.0.0.0&ipbits=0&expire=1665796917&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cxoaf&signature=BE50C0AEE6F931A18C3DE84C1E29CFD2999D51D1.DC8380A012A3B0938E65B445588C0A3B46C41A5A&key=yt8&lang=en-US&fmt=vtt',\n",
       "    'name': 'English (United States)'}]},\n",
       " 'comment_count': None,\n",
       " 'chapters': None,\n",
       " 'like_count': 60152,\n",
       " 'channel': 'Netflix',\n",
       " 'channel_follower_count': 24800000,\n",
       " 'upload_date': '20221007',\n",
       " 'availability': 'public',\n",
       " 'original_url': 'https://www.youtube.com/watch?v=kDA-phXyYH8',\n",
       " 'webpage_url_basename': 'watch',\n",
       " 'webpage_url_domain': 'youtube.com',\n",
       " 'extractor': 'youtube',\n",
       " 'extractor_key': 'Youtube',\n",
       " 'playlist': None,\n",
       " 'playlist_index': None,\n",
       " 'display_id': 'kDA-phXyYH8',\n",
       " 'fulltitle': 'Blockbuster | Official Trailer | Netflix',\n",
       " 'duration_string': '2:20',\n",
       " 'is_live': False,\n",
       " 'was_live': False,\n",
       " 'requested_subtitles': None,\n",
       " '_has_drm': None,\n",
       " 'requested_formats': [{'asr': None,\n",
       "   'filesize': 18945241,\n",
       "   'format_id': '248',\n",
       "   'format_note': '1080p',\n",
       "   'source_preference': -1,\n",
       "   'fps': 24,\n",
       "   'audio_channels': None,\n",
       "   'height': 1080,\n",
       "   'quality': 9,\n",
       "   'has_drm': False,\n",
       "   'tbr': 1083.761,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=248&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=18945241&dur=139.848&lmt=1665487463347986&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4535434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgDFczBOf0ToSz0if2GCJ21BOaimXJdxERZWv45oVwhE4CICx7N7SkKSCeUg8d4FvDwYdUceHwzcLrPY559y_2TcKF&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': 1920,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'vp9',\n",
       "   'acodec': 'none',\n",
       "   'dynamic_range': 'SDR',\n",
       "   'vbr': 1083.761,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'video_ext': 'webm',\n",
       "   'audio_ext': 'none',\n",
       "   'format': '248 - 1920x1080 (1080p)',\n",
       "   'resolution': '1920x1080',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}},\n",
       "  {'asr': 48000,\n",
       "   'filesize': 1766940,\n",
       "   'format_id': '251',\n",
       "   'format_note': 'medium',\n",
       "   'source_preference': -1,\n",
       "   'fps': None,\n",
       "   'audio_channels': 2,\n",
       "   'height': None,\n",
       "   'quality': 3,\n",
       "   'has_drm': False,\n",
       "   'tbr': 101.053,\n",
       "   'url': 'https://rr7---sn-bvvbax-cvne.googlevideo.com/videoplayback?expire=1665793318&ei=xqhJY9btHcuM_9EP9Pm04AE&ip=24.61.8.215&id=o-APl_R2NgQOowBa5a4fa1JRiPXmVAeN4cw79SPag3Gk9Z&itag=251&source=youtube&requiressl=yes&mh=MO&mm=31%2C29&mn=sn-bvvbax-cvne%2Csn-ab5l6nrs&ms=au%2Crdu&mv=m&mvi=7&pl=22&initcwndbps=1720000&spc=yR2vpyyi9zPpW0gmFsR5b8y6X2IwWhg&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=1766940&dur=139.881&lmt=1665480283981638&mt=1665771453&fvip=4&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAOH6oYbz-jTkyjlA7MDOW73SSw7CTQ6xx5hCXqtpH2lKAiEAteVl7xpvyWpt-nU50KEODJU6ShQLLodvMrn8SbXPDlA%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgair_bkXpnpHcILX6w9MP_duvQTWWH7yIlBoDLlBOoXkCIEfAHXSWM9ULv9J-fKT69x1aLIC7rTiCHxX95vCtnyLe',\n",
       "   'width': None,\n",
       "   'language': '',\n",
       "   'language_preference': -1,\n",
       "   'preference': None,\n",
       "   'ext': 'webm',\n",
       "   'vcodec': 'none',\n",
       "   'acodec': 'opus',\n",
       "   'dynamic_range': None,\n",
       "   'abr': 101.053,\n",
       "   'downloader_options': {'http_chunk_size': 10485760},\n",
       "   'container': 'webm_dash',\n",
       "   'protocol': 'https',\n",
       "   'audio_ext': 'webm',\n",
       "   'video_ext': 'none',\n",
       "   'format': '251 - audio only (medium)',\n",
       "   'resolution': 'audio only',\n",
       "   'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',\n",
       "    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n",
       "    'Accept-Language': 'en-us,en;q=0.5',\n",
       "    'Sec-Fetch-Mode': 'navigate'}}],\n",
       " 'format': '248 - 1920x1080 (1080p)+251 - audio only (medium)',\n",
       " 'format_id': '248+251',\n",
       " 'ext': 'webm',\n",
       " 'protocol': 'https+https',\n",
       " 'language': None,\n",
       " 'format_note': '1080p+medium',\n",
       " 'filesize_approx': 20712181,\n",
       " 'tbr': 1184.8139999999999,\n",
       " 'width': 1920,\n",
       " 'height': 1080,\n",
       " 'resolution': '1920x1080',\n",
       " 'fps': 24,\n",
       " 'dynamic_range': 'SDR',\n",
       " 'vcodec': 'vp9',\n",
       " 'vbr': 1083.761,\n",
       " 'stretched_ratio': None,\n",
       " 'acodec': 'opus',\n",
       " 'abr': 101.053,\n",
       " 'asr': 48000,\n",
       " 'audio_channels': 2,\n",
       " 'epoch': 1665771718,\n",
       " '_type': 'video',\n",
       " '_version': {'version': '2022.10.04',\n",
       "  'current_git_head': None,\n",
       "  'release_git_head': '4e0511f27',\n",
       "  'repository': 'yt-dlp/yt-dlp'}}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "json_info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2cd7a810",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ba434bb0",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f8d320f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f567c09",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
