VidGear Stable v0.2.4
·
320 commits
to master
since this release
📓 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.
- Implemented
- Added a new YT_backend Internal Class with YT-DLP backend:
- 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_RTCoptions
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.
- Added new
- Implemented a new easy way of defining Custom Streaming Class with suitable source(such as OpenCV):
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.
- Added
- 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.
- Moved all API specific dependencies to
Breaking Updates/Changes 💥
⚠️ Installation command withpip
has been changed inv0.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, usepip install vidgear[core]
command instead.
- The legacy
- CamGear:
⚠️ Removedstreamlink
backend support fromstream_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
ifyt-dlp
isn't installed andstream_mode
is enabled.
- CamGear will raise
⚠️ 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 itsconfig
global parameter.⚠️ WebGear_RTC API will now throws ValueError ifsource
parameter is NoneType as well ascustom_stream
attribute is undefined.
- Helper:
⚠️ Removedrestore_levelnames
method.⚠️ Removedyoutube_url_validator
method.
Bug-fixes 🐛
- CamGear:
- Fixed KeyError Bug for missing attributed in meta_data json in some streaming sites.
- Helper:
- Removed unused imports.