Skip to main content

Get an OpenCV video capture from an YouTube video URL + ydl_opts

Project description

cap_from_youtube

Get an OpenCV video capture from an YouTube video URL + ydl_opts

PyPI

Why

  • pafy is widely used to get the video URL from a YouTube video URL, but since it uses youtube-dl which has not been updated recently, it suffers from some issues (dislike_count not found...).
  • This repository is a simplified version of what pafy does, by just getting the url of the video and creating an OpenCV video capture from it.
  • It uses YT-DLP (https://github.com/yt-dlp/yt-dlp), which is a fork of youtube-dl that is updated frequently.

Requirement

  • YT-DLP
  • OpenCV
  • NumPy

Installation

  • The easiest way is to install it with pip:
pip install cap_from_youtube
  • You can also install it from GitHub:
pip install git+https://github.com/ibaiGorordo/cap_from_youtube

Usage

cap_from_youtube()

  • cap_from_youtube() is the main function to obtain a video capture from a YouTube video URL.
  • It requires the video URL as input and returns a cv2.VideoCapture object.
  • By default, it returns the video with the highest resolution available.
  • You can specify the resolution you want to get with the resolution parameter.
    • Resolution examples: '144p', '240p', '360p', '480p', '720p', '1080p', '1440p', '2160p', 'best'
  • Example:
import cv2
from cap_from_youtube import cap_from_youtube

youtube_url = 'https://youtu.be/LXb3EKWsInQ'
cap = cap_from_youtube(youtube_url, '1440p60')

cv2.namedWindow('video', cv2.WINDOW_NORMAL)
while True:
    ret, frame = cap.read()
    if not ret:
        break
    cv2.imshow('video', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

list_video_streams()

  • You can also use the list_video_streams() function to get the list of available video streams.
  • It requires the video URL as input and returns two values:
    • streams: a list of VideoStream with the information of the available video streams.
    • resolutions: a NumPy array with the available resolutions.
  • Example:
from cap_from_youtube import list_video_streams

youtube_url = 'https://youtu.be/LXb3EKWsInQ'
streams, resolutions = list_video_streams(youtube_url)

for stream in streams:
    print(stream)

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cap_from_youtube_opts-0.0.10.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

cap_from_youtube_opts-0.0.10.1-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file cap_from_youtube_opts-0.0.10.1.tar.gz.

File metadata

File hashes

Hashes for cap_from_youtube_opts-0.0.10.1.tar.gz
Algorithm Hash digest
SHA256 650eacf395231cba807d92059bdf0dd67a448eb6bcc14eb8002cc8961a02be75
MD5 e3aee20dd70852063332302c64c90130
BLAKE2b-256 ebfb69a0a56611afd17041412f121512bc3405d9c6f68e8f7741c16882aae10d

See more details on using hashes here.

File details

Details for the file cap_from_youtube_opts-0.0.10.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cap_from_youtube_opts-0.0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7fda9ee90374d4a0ff3342eafdeae26f655341f7c410cad03c3f70a5bac1d811
MD5 6a2c613733143d6c284b6d3d6fa1ec51
BLAKE2b-256 9c9cade1ac314b1b6707f0db1a86a807d1aeebc261d8c48b61206ce07c5937a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page