Skip to main content

Get an OpenCV video capture from an YouTube video URL

Project description

cap_from_youtube

Get an OpenCV video capture from an YouTube video URL

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.
    • Available resolutions: '144p', '240p', '360p', '480p', '720p', '720p60', '1080p', '1080p60', 'best'
  • Example:
from datetime import timedelta
import cv2
from cap_from_youtube import cap_from_youtube

youtube_url = 'https://youtu.be/LXb3EKWsInQ'
start_time = timedelta(seconds=5)
cap = cap_from_youtube(youtube_url, 'best', start=start_time)

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-0.2.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

cap_from_youtube-0.2.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file cap_from_youtube-0.2.0.tar.gz.

File metadata

  • Download URL: cap_from_youtube-0.2.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.8

File hashes

Hashes for cap_from_youtube-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6bd803caebac878c1a75183a43f55636f3b252e993e3a08e86fc7fb084be2f97
MD5 d4aa2f524d17a030f9246a2aab3939f5
BLAKE2b-256 47e4cfbd571ac083a010f3372543c9b8a6c0c4df074a139a3787c70d061a8d67

See more details on using hashes here.

Provenance

File details

Details for the file cap_from_youtube-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cap_from_youtube-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38e6243310cb1e76b036ff82e8740781f7b492823ce5ad2a78f9ac470f16a22a
MD5 c6cc5e9cdaf534a79287b2ab4f802b04
BLAKE2b-256 cffbb7860bf3592025b04309986c2815d459945c11b2cad64a833fc57d303a9f

See more details on using hashes here.

Provenance

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