{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "A series about how I got into homelabbing and what my current setup is Archive",
  "home_page_url": "https://pype.dev/series-homelab/",
  "feed_url": "https://pype.dev/series-homelab/archive/feed.json",
  "description": "My thoughts and streams of consciousness organized into barely coherent posts about things",
  "authors": [
    {
      "name": "Nic Payne"
    }
  ],
  "items": [
    {
      "id": "https://pype.dev/homelab-journey-part-1/",
      "url": "https://pype.dev/homelab-journey-part-1/",
      "title": "homelab-journey-part-1",
      "content_html": "\u003ch1 id=\"introduction\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eIntroduction\u003c/span\u003e\u003c/h1\u003e\n\u003cp\u003eI want to start writing about my homelab and this first post can be a short\nintroduction to how I got into homelabbing and a review of my current hardware.\nI\u0026rsquo;ll hopefully write about the evolution of my homelab to get to this\ncurrent point and then start writing about updates as new things hit the lab.\u003c/p\u003e\n\u003ch1 id=\"the-journey\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eThe Journey\u003c/span\u003e\u003c/h1\u003e\n\u003ch2 id=\"applications-pi-hole\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eApplications | Pi-Hole\u003c/span\u003e \u003ca href=\"#applications-pi-hole\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eI started with a pi-hole appliance running on a pi-0 I\nhad lying around. So, a little introduction into SSH and foreign operating\nsystems (I was loosely familiar with Linux and so Raspbian wasn\u0026rsquo;t a huge deal\nto start with) and then you could just \u003ca href=\"https://docs.pi-hole.net/main/basic-install/\"\u003einstall pi-hole\u003c/a\u003e.\nAfter installing it I got to learn a little bit about networking, DNS, DHCP,\netc. all from just exploring and trying out the features of pi-hole.\u003c/p\u003e\n\u003ch2 id=\"hardware\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eHardware\u003c/span\u003e \u003ca href=\"#hardware\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eFrom there I happened to come into a few computers \u003ca href=\"/kind/\" class=\"glossary-term\" title=\"kind - kubernetes in docker\" data-hover-title=\"kind\"\u003ekind\u003c/a\u003e of for free that a church was\nrecycling and so now with new-to-me x86 hardware and armed with a tiny bit of\n\u003ca href=\"/docker/\" class=\"glossary-term\" title=\"docker - container runtime\" data-hover-title=\"docker\"\u003edocker\u003c/a\u003e experience at work - I thought \u0026ldquo;well I wonder if I could run pi-hole in\ndocker on a Linux machine?\u0026rdquo; and that opened the door to running other things in docker.\u003c/p\u003e\n\u003ch1 id=\"applications-free-nas\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eApplications | Free-NAS\u003c/span\u003e\u003c/h1\u003e\n\u003cp\u003eI quickly decided I wanted a NAS after talking with a friend at work, and one\nof those computers that I inherited was the perfect target for Freenas by iX\nsystems (Freenas has since morphed into a few things - primarily TrueNAS Core\nfor the homelabber). That got me somewhat familiar with jails (which is a BSD\nconcept as FreeNAS was based on FreeBSD, not Linux) and running\ncontainers in different ways and then I decided I wanted Linux so I rebuilt with\nUbuntu.\u003c/p\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003eNote\u003c/p\u003e\n\u003cp\u003ethere\u0026rsquo;s been several hardware changes and such in there but that\ndoes more or less get me to arrive at where I\u0026rsquo;m at today which is I have a\nfew different boxes running pretty standard operating systems for their\npurposes and they are as follows.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch1 id=\"current-homelab-setup\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eCurrent Homelab Setup\u003c/span\u003e\u003c/h1\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003e\"Find updated information at \u003ca href=\"/the-homelab/\" class=\"wikilink\" data-title=\"The Homelab\" data-description=\"This is the landing page for my homelab posts. It isn\u0026#39;t a feed because I will write things here and link out to relevant parts of the homelab.\" data-date=\"2025-07-11\" data-preview=\"This is the landing page for my homelab posts. It isn\u0026#39;t a feed because I will write things here and link out to relevant parts of the homelab.\"\u003eThe Homelab\u003c/a\u003e\"\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"ad-blocking-pi-hole\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eAd blocking | Pi-Hole\u003c/span\u003e \u003ca href=\"#ad-blocking-pi-hole\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eHardware: pi-3\u003c/p\u003e\n\u003cp\u003eI have a Raspberry Pi 3 hardwired in that is running pi-hole so that\u0026rsquo;s been a\npart of my infrastructure now for a long time.\u003c/p\u003e\n\u003ch2 id=\"router-opnsense\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eRouter | OPNSense\u003c/span\u003e \u003ca href=\"#router-opnsense\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003estats\u003c/p\u003e\n\u003cp\u003eCPU: i5-8700\u003c/p\u003e\n\u003cp\u003eMemory: 8GB of whatever was in the box\u003c/p\u003e\n\u003cp\u003eStorage: 1TB SSD\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eMy router is an old Optiplex SFF 5060 I got from Amazon for less than $100.\nSo I\u0026rsquo;m running a x86 system for my router with\nOpenSense on it. Just seemed it to be another home lab standard and I\u0026rsquo;d like to\nsomeday bring pi-hole over there or use AdGuard or integrate those two things\nmaybe a little bit more completely but right now they are mostly separate.\u003c/p\u003e\n\u003ch2 id=\"networking-vlans\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eNetworking | VLANs\u003c/span\u003e \u003ca href=\"#networking-vlans\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThere\u0026rsquo;s a\nmanaged switch in there for some VLAN tomfoolery for my cameras and an IOT\nnetwork type of a thing.\u003c/p\u003e\n\u003ch2 id=\"networking-vpn-tailscale\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eNetworking | VPN | Tailscale\u003c/span\u003e \u003ca href=\"#networking-vpn-tailscale\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThey\u0026rsquo;re on tailscale as well so my DNS happens over tailscale.\u003c/p\u003e\n\u003ch2 id=\"my-desktop\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eMy Desktop\u003c/span\u003e \u003ca href=\"#my-desktop\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003estats\u003c/p\u003e\n\u003cp\u003eCPU: Ryzen 7 5700X\u003c/p\u003e\n\u003cp\u003eGPU: Nvidia 3090\u003c/p\u003e\n\u003cp\u003eMemory: 64 GB\u003c/p\u003e\n\u003cp\u003eStorage: 4TB SSD + 2 TB HDD for zfs backup\u003c/p\u003e\n\u003cp\u003eOS: Universal Blue Aurora\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eMy daily-driver desktop is somewhat apart of my homelab now as I have a 3090 in\nthere with 20 GB of VRAM so I can run some heavier LLMs for self-hosted AI\nworkloads. Everything in that space runs in a container and then I manage\ndocker containers with compose stacks and portainer for visibility.\u003c/p\u003e\n\u003ch3 id=\"applications\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eApplications\u003c/span\u003e \u003ca href=\"#applications\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eSome of the apps I run here are ollama, open-webui, automatic1111\u0026rsquo;s stable diffusion webui, whisper-webui\u003c/p\u003e\n\u003ch2 id=\"nas-server\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eNAS / Server\u003c/span\u003e \u003ca href=\"#nas-server\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003estats\u003c/p\u003e\n\u003cp\u003eCPU: Ryzen 7 5700G\u003c/p\u003e\n\u003cp\u003eGPU: None right now\u003c/p\u003e\n\u003cp\u003eMemory: 128 GB\u003c/p\u003e\n\u003cp\u003eStorage: 2x12 TB ZFS Mirror + another 2x12 TB ZFS Mirror + 500GB disk for NVR\u003c/p\u003e\n\u003cp\u003eOS: Ubuntu Server 24.04\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eAt the moment I am managing containers using Docker Compose stacks. Many\napplications have their own stack but then I also have stacks of many\napplications. The Compose files are all organized by host and they\u0026rsquo;re in git\nand I use GitHub as my main get back and remote storage.\u003c/p\u003e\n\u003ch3 id=\"applications-1\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eApplications\u003c/span\u003e \u003ca href=\"#applications-1\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThere are currently 74 containers running on my server, I will not list them all but here\u0026rsquo;s some highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003etraefik\u003c/li\u003e\n\u003cli\u003eportainer\u003c/li\u003e\n\u003cli\u003enextcloud\u003c/li\u003e\n\u003cli\u003ejellyfin\u003c/li\u003e\n\u003cli\u003e*arr stack\u003c/li\u003e\n\u003cli\u003ecode-server\u003c/li\u003e\n\u003cli\u003ekanboard\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI regularly spin up compose stacks to try new things as I hear about them in\nnewsletters and such - I will be making an attempt to write about them more\nfrequently in a homelabbing series\u003c/p\u003e\n",
      "content_text": "\n# Introduction\n\nI want to start writing about my homelab and this first post can be a short\nintroduction to how I got into homelabbing and a review of my current hardware.\nI'll hopefully write about the evolution of my homelab to get to this\ncurrent point and then start writing about updates as new things hit the lab.\n\n# The Journey\n\n## Applications | Pi-Hole\n\nI started with a pi-hole appliance running on a pi-0 I\nhad lying around. So, a little introduction into SSH and foreign operating\nsystems (I was loosely familiar with Linux and so Raspbian wasn't a huge deal\nto start with) and then you could just [install pi-hole](https://docs.pi-hole.net/main/basic-install/).\nAfter installing it I got to learn a little bit about networking, DNS, DHCP,\netc. all from just exploring and trying out the features of pi-hole.\n\n## Hardware\n\nFrom there I happened to come into a few computers kind of for free that a church was\nrecycling and so now with new-to-me x86 hardware and armed with a tiny bit of\ndocker experience at work - I thought \"well I wonder if I could run pi-hole in\ndocker on a Linux machine?\" and that opened the door to running other things in docker.\n\n# Applications | Free-NAS\n\nI quickly decided I wanted a NAS after talking with a friend at work, and one\nof those computers that I inherited was the perfect target for Freenas by iX\nsystems (Freenas has since morphed into a few things - primarily TrueNAS Core\nfor the homelabber). That got me somewhat familiar with jails (which is a BSD\nconcept as FreeNAS was based on FreeBSD, not Linux) and running\ncontainers in different ways and then I decided I wanted Linux so I rebuilt with\nUbuntu.\n\n!!! note \"\"\n\n    there's been several hardware changes and such in there but that\n    does more or less get me to arrive at where I'm at today which is I have a\n    few different boxes running pretty standard operating systems for their\n    purposes and they are as follows.\n\n# Current Homelab Setup\n\n!!! note \"Find updated information at \u003ca href=\"/the-homelab/\" class=\"wikilink\" data-title=\"The Homelab\" data-description=\"This is the landing page for my homelab posts. It isn\u0026#39;t a feed because I will write things here and link out to relevant parts of the homelab.\" data-date=\"2025-07-11\"\u003eThe Homelab\u003c/a\u003e\"\n\n## Ad blocking | Pi-Hole\n\nHardware: pi-3\n\nI have a Raspberry Pi 3 hardwired in that is running pi-hole so that's been a\npart of my infrastructure now for a long time.\n\n## Router | OPNSense\n\n!!! note \"stats\"\n\n    CPU: i5-8700\n\n    Memory: 8GB of whatever was in the box\n\n    Storage: 1TB SSD\n\nMy router is an old Optiplex SFF 5060 I got from Amazon for less than $100.\nSo I'm running a x86 system for my router with\nOpenSense on it. Just seemed it to be another home lab standard and I'd like to\nsomeday bring pi-hole over there or use AdGuard or integrate those two things\nmaybe a little bit more completely but right now they are mostly separate.\n\n## Networking | VLANs\n\nThere's a\nmanaged switch in there for some VLAN tomfoolery for my cameras and an IOT\nnetwork type of a thing.\n\n## Networking | VPN | Tailscale\n\nThey're on tailscale as well so my DNS happens over tailscale.\n\n## My Desktop\n\n!!! note \"stats\"\n\n    CPU: Ryzen 7 5700X\n\n    GPU: Nvidia 3090\n\n    Memory: 64 GB\n\n    Storage: 4TB SSD + 2 TB HDD for zfs backup\n\n    OS: Universal Blue Aurora\n\nMy daily-driver desktop is somewhat apart of my homelab now as I have a 3090 in\nthere with 20 GB of VRAM so I can run some heavier LLMs for self-hosted AI\nworkloads. Everything in that space runs in a container and then I manage\ndocker containers with compose stacks and portainer for visibility.\n\n### Applications\n\nSome of the apps I run here are ollama, open-webui, automatic1111's stable diffusion webui, whisper-webui\n\n## NAS / Server\n\n!!! note \"stats\"\n\n    CPU: Ryzen 7 5700G\n\n    GPU: None right now\n\n    Memory: 128 GB\n\n    Storage: 2x12 TB ZFS Mirror + another 2x12 TB ZFS Mirror + 500GB disk for NVR\n\n    OS: Ubuntu Server 24.04\n\nAt the moment I am managing containers using Docker Compose stacks. Many\napplications have their own stack but then I also have stacks of many\napplications. The Compose files are all organized by host and they're in git\nand I use GitHub as my main get back and remote storage.\n\n### Applications\n\nThere are currently 74 containers running on my server, I will not list them all but here's some highlights:\n\n- traefik\n- portainer\n- nextcloud\n- jellyfin\n- \\*arr stack\n- code-server\n- kanboard\n\nI regularly spin up compose stacks to try new things as I hear about them in\nnewsletters and such - I will be making an attempt to write about them more\nfrequently in a homelabbing series\n",
      "summary": "I want to start writing about my homelab and this first post can be a short introduction to how I got into homelabbing and a review of my current hardware....",
      "date_published": "2025-06-05T08:19:57Z",
      "date_modified": "2025-06-05T08:19:57Z",
      "authors": [
        {
          "name": "Nic Payne",
          "url": "https://pype.dev"
        }
      ],
      "tags": [
        "homelab",
        "tech",
        "series-homelab"
      ]
    },
    {
      "id": "https://pype.dev/self-hosted-media/",
      "url": "https://pype.dev/self-hosted-media/",
      "title": "self-hosted-media",
      "content_html": "\u003cp\u003eSelf-hosting 1 or several media servers is another common homelab use-case.\nGetting content for your media servers is up to you, but I\u0026rsquo;ll show a few ways here to get content somewhat easily!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eYouTube Disclaimer at Bottom\u003c/strong\u003e\u003c/p\u003e\n\u003ch2 id=\"you-get\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eyou-get\u003c/span\u003e \u003ca href=\"#you-get\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eyou-get\u003c/code\u003e is a nice cli for grabbing media content off the web.\u003c/p\u003e\n\u003ch3 id=\"installation\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eInstallation\u003c/span\u003e \u003ca href=\"#installation\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003epip install you-get\u003c/code\u003e or use ad-hoc with \u003ccode\u003epipx run you-get \u0026lt;url\u0026gt;\u003c/code\u003e\u003c/p\u003e\n\u003ch3 id=\"usage\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eUsage\u003c/span\u003e \u003ca href=\"#usage\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eFor example if I wanted to catch up on ancient Chinese military tactics I may go for \u003ccode\u003eThe Art of War\u003c/code\u003e off the Internet Archive\u0026hellip;\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esandbox  🌱 main 🗑️  ×3🛤️  ×6via 🐍 v3.8.11 \u003cspan class=\"o\"\u003e(\u003c/span\u003esandbox\u003cspan class=\"o\"\u003e)\u003c/span\u003e  took 15s\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e❯ you-get https://archive.org/details/art_of_war_librivox -i\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSite:       Archive.org\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eTitle:      The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archive\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eType:       MP3 \u003cspan class=\"o\"\u003e(\u003c/span\u003eaudio/mpeg\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSize:       3.87 MiB \u003cspan class=\"o\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e4055167\u003c/span\u003e Bytes\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003ethe \u003ccode\u003e-i\u003c/code\u003e is showing me the info of what would be downloaded without the flag (it\u0026rsquo;s like a dry run)\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esandbox  🌱 main 🗑️  ×3🛤️  ×6via 🐍 v3.8.11 \u003cspan class=\"o\"\u003e(\u003c/span\u003esandbox\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e❯ you-get https://archive.org/details/art_of_war_librivox\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSite:       Archive.org\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eTitle:      The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archive\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eType:       MP3 \u003cspan class=\"o\"\u003e(\u003c/span\u003eaudio/mpeg\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSize:       3.87 MiB \u003cspan class=\"o\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e4055167\u003c/span\u003e Bytes\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eDownloading The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archi.mp3 ...\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e 100% \u003cspan class=\"o\"\u003e(\u003c/span\u003e  3.9/  3.9MB\u003cspan class=\"o\"\u003e)\u003c/span\u003e ├████████████████████████████████████████████████████████████┤\u003cspan class=\"o\"\u003e[\u003c/span\u003e1/1\u003cspan class=\"o\"\u003e]\u003c/span\u003e  \u003cspan class=\"m\"\u003e917\u003c/span\u003e kB/s\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eNow I can toss that mp3 onto my \u003ccode\u003ebooksonic\u003c/code\u003e server and study for world domination while I do the dishes!\u003c/p\u003e\n\u003ch2 id=\"pytube\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003epytube\u003c/span\u003e \u003ca href=\"#pytube\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003epytube\u003c/code\u003e is a python implementation of a \u003ca href=\"##YouTube\"\u003eyoutube downloader \u003c/a\u003e that works at the command line or in python!\u003c/p\u003e\n\u003ch3 id=\"installation-1\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eInstallation\u003c/span\u003e \u003ca href=\"#installation-1\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://pytube.io/en/latest/\"\u003edocs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install pytube\u003c/code\u003e\u003c/p\u003e\n\u003ch3 id=\"usage-1\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eUsage\u003c/span\u003e \u003ca href=\"#usage-1\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003epytube\u003c/code\u003e has a lot of functionality, but a quick one would be the \u003ccode\u003e--list\u003c/code\u003e so you can see what qualities are available\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esandbox   main ️  ×3️  ×7via  v3.8.11 \u003cspan class=\"o\"\u003e(\u003c/span\u003esandbox\u003cspan class=\"o\"\u003e)\u003c/span\u003e  took 2m49s\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e❯ pytube https://www.youtube.com/watch\u003cspan class=\"se\"\u003e\\?\u003c/span\u003ev\u003cspan class=\"se\"\u003e\\=\u003c/span\u003eLDU_Txk06tM  --list\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eLoading video...\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;17\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/3gpp\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;8fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4v.20.3\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;18\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.42001E\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;22\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.64001F\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;313\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;2160p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;401\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;2160p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.12M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;271\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1440p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;400\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1440p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.12M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;137\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.640028\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;248\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;399\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.08M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;136\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401f\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;247\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;398\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.05M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;135\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401f\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;244\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;397\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.04M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;134\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401e\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;243\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;396\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.01M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;133\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d4015\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;242\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;395\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.00M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;160\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d400c\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;278\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;394\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.00M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;139\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;48kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.5\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;140\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;128kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;249\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;50kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;250\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;70kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026lt;Stream: \u003cspan class=\"nv\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;251\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;160kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nv\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ccode\u003epytube \u0026lt;url\u0026gt; --itag \u0026lt;\u0026gt;\u003c/code\u003e will download the specific \u003ccode\u003eitag\u003c/code\u003e from the list.\u003c/p\u003e\n\u003cp\u003eNotice that some \u003ccode\u003eitags\u003c/code\u003e are videos and others audio - so you can download just the music of a YT video.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epytube\u003c/code\u003e also works in python\u0026hellip;\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esandbox\u003c/span\u003e \u003cspan class=\"err\"\u003e↪\u003c/span\u003e \u003cspan class=\"n\"\u003emain\u003c/span\u003e \u003cspan class=\"n\"\u003ev3\u003c/span\u003e\u003cspan class=\"mf\"\u003e.8.11\u003c/span\u003e \u003cspan class=\"n\"\u003eipython\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"err\"\u003e❯\u003c/span\u003e \u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003epytube\u003c/span\u003e \u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"n\"\u003eYouTube\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esandbox\u003c/span\u003e \u003cspan class=\"err\"\u003e↪\u003c/span\u003e \u003cspan class=\"n\"\u003emain\u003c/span\u003e \u003cspan class=\"n\"\u003ev3\u003c/span\u003e\u003cspan class=\"mf\"\u003e.8.11\u003c/span\u003e \u003cspan class=\"n\"\u003eipython\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"err\"\u003e❯\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"n\"\u003eYouTube\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;https://www.youtube.com/watch?v=LDU_Txk06tM\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003estreams\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;17\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/3gpp\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;8fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4v.20.3\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;18\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.42001E\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;22\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.64001F\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;True\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;313\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;2160p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;401\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;2160p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.12M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;271\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1440p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;400\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1440p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.12M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;137\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.640028\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;248\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;399\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;1080p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.08M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;136\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401f\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;247\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;398\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;720p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.05M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;135\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401f\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;244\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;397\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;480p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.04M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;134\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d401e\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;243\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;396\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;360p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.01M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;133\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d4015\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;242\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;395\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;240p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.00M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;160\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;avc1.4d400c\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;278\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;vp9\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;394\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eres\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;144p\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003efps\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;30fps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003evcodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;av01.0.00M.08\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;video\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;139\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;48kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.5\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;140\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/mp4\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;128kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;mp4a.40.2\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;249\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;50kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;250\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;70kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eStream\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eitag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;251\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003emime_type\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio/webm\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eabr\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;160kbps\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eacodec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;opus\u0026#34;\u003c/span\u003e \u003cspan class=\"n\"\u003eprogressive\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;False\u0026#34;\u003c/span\u003e \u003cspan class=\"nb\"\u003etype\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;audio\u0026#34;\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"youtube-frontends\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eYouTube Frontends\u003c/span\u003e \u003ca href=\"#youtube-frontends\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThere\u0026rsquo;s 2 really good options for self-hosting a YT front-end\u0026hellip;\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bbilly1/tubearchivist\"\u003eTube Archivist\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Tzahi12345/YoutubeDL-Material\"\u003eYouTubeDL-Material\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThey have their pros and cons.\nYou can also build yourself with the above utilities and use Plex or Jellyfin to serve up videos\u0026hellip;\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eYour self-hosting journey is up to you!\u003c/strong\u003e\u003c/p\u003e\n\u003ch2 id=\"youtube\"\u003e\u003cspan class=\"heading-wear-glyph\"\u003eYouTube\u003c/span\u003e \u003ca href=\"#youtube\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eDownloading YouTube videos is a bit of a sore topic\u0026hellip; Mainly you don\u0026rsquo;t to hurt creators who rely on YT ad revenue for their livlihood.\u003c/p\u003e\n\u003cp\u003eThen again, maybe you\u0026rsquo;re a vigilante who knows that YT also monetizes videos for their \u003cem\u003eown\u003c/em\u003e gain and that the creators don\u0026rsquo;t see that money either!\u003c/p\u003e\n\u003cp\u003eThe solution is pretty easy and is 2-fold\u0026hellip;\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDownload YT videos\u003c/li\u003e\n\u003cli\u003ePersonally support the content creators you follow via paypall, patreon, or whatever else they might have set-up\u0026hellip;. even a buck or two a month is more than they\u0026rsquo;d get from your ad revenue explicitly plus it all goes to them!\u003c/li\u003e\n\u003c/ol\u003e\n",
      "content_text": "\nSelf-hosting 1 or several media servers is another common homelab use-case.\nGetting content for your media servers is up to you, but I'll show a few ways here to get content somewhat easily!\n\n__YouTube Disclaimer at Bottom__\n\n\n## you-get\n\n`you-get` is a nice cli for grabbing media content off the web. \n\n### Installation\n\n`pip install you-get` or use ad-hoc with `pipx run you-get \u003curl\u003e`\n\n\n### Usage\n\nFor example if I wanted to catch up on ancient Chinese military tactics I may go for `The Art of War` off the Internet Archive...\n\n```bash\nsandbox  🌱 main 🗑️  ×3🛤️  ×6via 🐍 v3.8.11 (sandbox)  took 15s\n❯ you-get https://archive.org/details/art_of_war_librivox -i\nSite:       Archive.org\nTitle:      The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archive\nType:       MP3 (audio/mpeg)\nSize:       3.87 MiB (4055167 Bytes)\n\n```\n\nthe `-i` is showing me the info of what would be downloaded without the flag (it's like a dry run)\n\n```bash\nsandbox  🌱 main 🗑️  ×3🛤️  ×6via 🐍 v3.8.11 (sandbox)\n❯ you-get https://archive.org/details/art_of_war_librivox\nSite:       Archive.org\nTitle:      The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archive\nType:       MP3 (audio/mpeg)\nSize:       3.87 MiB (4055167 Bytes)\n\nDownloading The Art of War : Sun Tzu : Free Download, Borrow, and Streaming : Internet Archi.mp3 ...\n 100% (  3.9/  3.9MB) ├████████████████████████████████████████████████████████████┤[1/1]  917 kB/s\n\n```\n\nNow I can toss that mp3 onto my `booksonic` server and study for world domination while I do the dishes!\n\n\n## pytube\n\n`pytube` is a python implementation of a [youtube downloader ](##YouTube) that works at the command line or in python!\n\n### Installation\n\n[docs](https://pytube.io/en/latest/)\n\n`pip install pytube`\n\n\n### Usage\n\n`pytube` has a lot of functionality, but a quick one would be the `--list` so you can see what qualities are available\n\n```bash\nsandbox   main ️  ×3️  ×7via  v3.8.11 (sandbox)  took 2m49s\n❯ pytube https://www.youtube.com/watch\\?v\\=LDU_Txk06tM  --list\nLoading video...\n\u003cStream: itag=\"17\" mime_type=\"video/3gpp\" res=\"144p\" fps=\"8fps\" vcodec=\"mp4v.20.3\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e\n\u003cStream: itag=\"18\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"avc1.42001E\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e\n\u003cStream: itag=\"22\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"avc1.64001F\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e\n\u003cStream: itag=\"313\" mime_type=\"video/webm\" res=\"2160p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"401\" mime_type=\"video/mp4\" res=\"2160p\" fps=\"30fps\" vcodec=\"av01.0.12M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"271\" mime_type=\"video/webm\" res=\"1440p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"400\" mime_type=\"video/mp4\" res=\"1440p\" fps=\"30fps\" vcodec=\"av01.0.12M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"137\" mime_type=\"video/mp4\" res=\"1080p\" fps=\"30fps\" vcodec=\"avc1.640028\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"248\" mime_type=\"video/webm\" res=\"1080p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"399\" mime_type=\"video/mp4\" res=\"1080p\" fps=\"30fps\" vcodec=\"av01.0.08M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"136\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"avc1.4d401f\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"247\" mime_type=\"video/webm\" res=\"720p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"398\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"av01.0.05M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"135\" mime_type=\"video/mp4\" res=\"480p\" fps=\"30fps\" vcodec=\"avc1.4d401f\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"244\" mime_type=\"video/webm\" res=\"480p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"397\" mime_type=\"video/mp4\" res=\"480p\" fps=\"30fps\" vcodec=\"av01.0.04M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"134\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"avc1.4d401e\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"243\" mime_type=\"video/webm\" res=\"360p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"396\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"av01.0.01M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"133\" mime_type=\"video/mp4\" res=\"240p\" fps=\"30fps\" vcodec=\"avc1.4d4015\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"242\" mime_type=\"video/webm\" res=\"240p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"395\" mime_type=\"video/mp4\" res=\"240p\" fps=\"30fps\" vcodec=\"av01.0.00M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"160\" mime_type=\"video/mp4\" res=\"144p\" fps=\"30fps\" vcodec=\"avc1.4d400c\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"278\" mime_type=\"video/webm\" res=\"144p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"394\" mime_type=\"video/mp4\" res=\"144p\" fps=\"30fps\" vcodec=\"av01.0.00M.08\" progressive=\"False\" type=\"video\"\u003e\n\u003cStream: itag=\"139\" mime_type=\"audio/mp4\" abr=\"48kbps\" acodec=\"mp4a.40.5\" progressive=\"False\" type=\"audio\"\u003e\n\u003cStream: itag=\"140\" mime_type=\"audio/mp4\" abr=\"128kbps\" acodec=\"mp4a.40.2\" progressive=\"False\" type=\"audio\"\u003e\n\u003cStream: itag=\"249\" mime_type=\"audio/webm\" abr=\"50kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e\n\u003cStream: itag=\"250\" mime_type=\"audio/webm\" abr=\"70kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e\n\u003cStream: itag=\"251\" mime_type=\"audio/webm\" abr=\"160kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e\n\n```\n\n`pytube \u003curl\u003e --itag \u003c\u003e` will download the specific `itag` from the list.\n\nNotice that some `itags` are videos and others audio - so you can download just the music of a YT video.\n\n\n`pytube` also works in python...\n\n```python\nsandbox ↪ main v3.8.11 ipython\n❯ from pytube import YouTube\n\nsandbox ↪ main v3.8.11 ipython\n❯ [x for x in YouTube(\"https://www.youtube.com/watch?v=LDU_Txk06tM\").streams]\n\n[\n    \u003cStream: itag=\"17\" mime_type=\"video/3gpp\" res=\"144p\" fps=\"8fps\" vcodec=\"mp4v.20.3\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e,\n    \u003cStream: itag=\"18\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"avc1.42001E\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e,\n    \u003cStream: itag=\"22\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"avc1.64001F\" acodec=\"mp4a.40.2\" progressive=\"True\" type=\"video\"\u003e,\n    \u003cStream: itag=\"313\" mime_type=\"video/webm\" res=\"2160p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"401\" mime_type=\"video/mp4\" res=\"2160p\" fps=\"30fps\" vcodec=\"av01.0.12M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"271\" mime_type=\"video/webm\" res=\"1440p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"400\" mime_type=\"video/mp4\" res=\"1440p\" fps=\"30fps\" vcodec=\"av01.0.12M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"137\" mime_type=\"video/mp4\" res=\"1080p\" fps=\"30fps\" vcodec=\"avc1.640028\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"248\" mime_type=\"video/webm\" res=\"1080p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"399\" mime_type=\"video/mp4\" res=\"1080p\" fps=\"30fps\" vcodec=\"av01.0.08M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"136\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"avc1.4d401f\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"247\" mime_type=\"video/webm\" res=\"720p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"398\" mime_type=\"video/mp4\" res=\"720p\" fps=\"30fps\" vcodec=\"av01.0.05M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"135\" mime_type=\"video/mp4\" res=\"480p\" fps=\"30fps\" vcodec=\"avc1.4d401f\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"244\" mime_type=\"video/webm\" res=\"480p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"397\" mime_type=\"video/mp4\" res=\"480p\" fps=\"30fps\" vcodec=\"av01.0.04M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"134\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"avc1.4d401e\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"243\" mime_type=\"video/webm\" res=\"360p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"396\" mime_type=\"video/mp4\" res=\"360p\" fps=\"30fps\" vcodec=\"av01.0.01M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"133\" mime_type=\"video/mp4\" res=\"240p\" fps=\"30fps\" vcodec=\"avc1.4d4015\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"242\" mime_type=\"video/webm\" res=\"240p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"395\" mime_type=\"video/mp4\" res=\"240p\" fps=\"30fps\" vcodec=\"av01.0.00M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"160\" mime_type=\"video/mp4\" res=\"144p\" fps=\"30fps\" vcodec=\"avc1.4d400c\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"278\" mime_type=\"video/webm\" res=\"144p\" fps=\"30fps\" vcodec=\"vp9\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"394\" mime_type=\"video/mp4\" res=\"144p\" fps=\"30fps\" vcodec=\"av01.0.00M.08\" progressive=\"False\" type=\"video\"\u003e,\n    \u003cStream: itag=\"139\" mime_type=\"audio/mp4\" abr=\"48kbps\" acodec=\"mp4a.40.5\" progressive=\"False\" type=\"audio\"\u003e,\n    \u003cStream: itag=\"140\" mime_type=\"audio/mp4\" abr=\"128kbps\" acodec=\"mp4a.40.2\" progressive=\"False\" type=\"audio\"\u003e,\n    \u003cStream: itag=\"249\" mime_type=\"audio/webm\" abr=\"50kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e,\n    \u003cStream: itag=\"250\" mime_type=\"audio/webm\" abr=\"70kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e,\n    \u003cStream: itag=\"251\" mime_type=\"audio/webm\" abr=\"160kbps\" acodec=\"opus\" progressive=\"False\" type=\"audio\"\u003e\n]\n\n\n```\n\n## YouTube Frontends\n\nThere's 2 really good options for self-hosting a YT front-end...\n\n[Tube Archivist](https://github.com/bbilly1/tubearchivist)\n\n[YouTubeDL-Material](https://github.com/Tzahi12345/YoutubeDL-Material)\n\nThey have their pros and cons.\nYou can also build yourself with the above utilities and use Plex or Jellyfin to serve up videos...\n\n__Your self-hosting journey is up to you!__\n\n\n## YouTube\n\nDownloading YouTube videos is a bit of a sore topic... Mainly you don't to hurt creators who rely on YT ad revenue for their livlihood.\n\nThen again, maybe you're a vigilante who knows that YT also monetizes videos for their _own_ gain and that the creators don't see that money either!\n\nThe solution is pretty easy and is 2-fold...\n\n1. Download YT videos\n2. Personally support the content creators you follow via paypall, patreon, or whatever else they might have set-up.... even a buck or two a month is more than they'd get from your ad revenue explicitly plus it all goes to them!\n",
      "summary": "Self-hosting 1 or several media servers is another common homelab use-case. Getting content for your media servers is up to you, but I'll show a few ways...",
      "date_published": "2022-03-24T00:00:00Z",
      "date_modified": "2022-03-24T00:00:00Z",
      "authors": [
        {
          "name": "Nic Payne",
          "url": "https://pype.dev"
        }
      ],
      "tags": [
        "python",
        "homelab",
        "tech",
        "series-homelab"
      ]
    }
  ]
}