Skip to content

VidGear Stable v0.2.4

Compare
Choose a tag to compare
@abhiTronix abhiTronix released this 05 Dec 12:54
· 320 commits to master since this release
9e24af6

📓 Complete Release Notes can be found here ↗️


New Features ✨

  • CamGear:
    • Added a new YT_backend Internal Class with YT-DLP backend:
      • Implemented YT_backend a new CamGear's Internal YT-DLP backend class for extracting metadata from Streaming URLs.
      • Added support for pipeling (live) video-frames from all yt-dlp supported streaming sites: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md#supported-sites
      • Implemented algorithm from scratch for auto-extracting resolution specific streamable URLs for pipelineing.
      • Added new ytv_metadata global parameter to CamGear for accessing video's metadata(such as duration, title, description) on-the-go.
      • ⚠️ Playlists are still unsupported.
  • WebGear_RTC:
    • Implemented a new easy way of defining Custom Streaming Class with suitable source(such as OpenCV):
      • Added new custom_stream attribute with WebGear_RTC options parameter that allows you to easily define your own Custom Streaming Class with suitable source(such as OpenCV).
      • This implementation supports repeated Auto-Reconnection or Auto-Refresh out-of-the-box.
      • This implementation is more user-friendly and easy to integrate within complex APIs.
      • This implementation supports all vidgear's VideoCapture APIs readily as input.

Updates/Improvements ⚡️

  • CamGear:
    • Added is_livestream global YT_backend parameters.
    • Added default options for yt-dlp for extracting info_dict(metadata) of the video as a single JSON line.
    • Removed all dead code related to streamlink backend.
  • Setup.py:
    • Moved all API specific dependencies to extra_requires under the name "core". [PR #268 by @zpapakipos]
    • Added rule to replace GitHub heading links in description.
    • Updated extra_require dependencies.
    • Removed streamlink dependency.
    • Removed pafy dependency.

Breaking Updates/Changes 💥

  • ⚠️ Installation command with pip has been changed in v0.2.4:
    • The legacy pip install vidgear command now installs critical bare-minimum dependencies only. Therefore in order to automatically install all the API specific dependencies as previous versions, use pip install vidgear[core] command instead.
  • CamGear:
    • ⚠️ Removed streamlink backend support from stream_mode in favor of more reliable CamGear's Internal YT-DLP backend class for extracting metadata from Streaming URLs.
      • CamGear will raise ValueError if streaming site URL is unsupported by yt-dlp backend.
      • CamGear will raise ValueError if yt-dlp isn't installed and stream_mode is enabled.
    • ⚠️ Removed automatic enforcing of GStreamer backend for YouTube-livestreams and made it optional.
      • The CamGear will not raise ValueError if GStreamer support is missing in OpenCV backends.
  • WebGear_RTC:
    • ⚠️ Removed support for assigning Custom Media Server Class(inherited from aiortc's VideoStreamTrack) in WebGear_RTC through its config global parameter.
    • ⚠️ WebGear_RTC API will now throws ValueError if source parameter is NoneType as well as custom_stream attribute is undefined.
  • Helper:
    • ⚠️ Removed restore_levelnames method.
    • ⚠️ Removed youtube_url_validator method.

Bug-fixes 🐛

  • CamGear:
    • Fixed KeyError Bug for missing attributed in meta_data json in some streaming sites.
  • Helper:
    • Removed unused imports.

Related Pull Requests 🔧