-
-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
⚡️ CamGear: Added a new YT_backend Internal Class with YT-DLP backend #274
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…Fixes #273) - ✨ 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. - ⚡️ Implemented logic for auto-calculating `best` and `worst` resolutions. - ✨ Added `is_livestream` and `is_valid_source` global YT_backend parameters. - ✨ Added default options for yt-dlp for extracting info_dict(metadata) of the video as a single JSON line. - ✨ Added new `ytv_metadata` global parameter to CamGear for accessing video's metadata(such as duration, title, description) on-the-go. - 💥 Removed `STREAM_PARAMS` dict attribute and replaced it with `YT_STREAM_PARAMS` and `SL_STREAM_PARAMS` backend specific attributes. - 💥 Removed automatic enforcing of GStreamer backend for YouTube-livestreams and made it optional. - ⚰️ Completely removed old logic for extracting streams using pafy. -⚠️ Playlists are still unsupported. - 🔊 Updated logging messages. - 💡 Updated code comments. Helper: 💥 Removed `youtube_url_validator` helper method. Setup: - ➖ Removed `pafy` dependency. - 🎨 Removed `pyzmq` from latest_version group.
- 🔥 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. - ⚰️ Removed all dead code related to streamlink backend. - 🚩 Removed `SL_STREAM_PARAMS` attribute support. - 🚩 Removed `is_valid_source` global parameter from YT_backend class. - ⏪️ Reverted `YT_STREAM_PARAMS` attribute to `STREAM_PARAMS` again. - 🐛 Fixed KeyError Bug for missing attributed in meta_data json in some streaming sites. - 💥 CamGear will raise `ValueError` if streaming site URL is unsupported by yt-dlp backend. - 💥 CamGear will raise ImportError if `yt-dlp` isn't installed. Helper: - 💥 Removed `restore_levelnames` method. Setup.py: - ➖ Removed `streamlink` dependency. Maintenance: - 🔥 Removed unused imports.
- 👷 Updated Streaming Sites link. - 👷 Added more tests cases. CamGear: - 🐛 Fixed KeyError Bug in Internal YT-DLP backend class.
abhiTronix
added
ENHANCEMENT ⚡
New Feature/Addition/Improvement
WORK IN PROGRESS 🚧
currently been worked on.
DOCS : PENDING ✍🏻
Docs still pending for this Issue/PR!
PENDING TESTS 🧪
Waiting for CI tests to complete successfully.
labels
Dec 3, 2021
Codecov Report
@@ Coverage Diff @@
## testing #274 +/- ##
===========================================
+ Coverage 94.60% 95.16% +0.56%
===========================================
Files 16 16
Lines 3040 3063 +23
===========================================
+ Hits 2876 2915 +39
+ Misses 164 148 -16
Continue to review full report at Codecov.
|
abhiTronix
added
MAINTENANCE 🏗️
Just sorting things out!
and removed
PENDING TESTS 🧪
Waiting for CI tests to complete successfully.
labels
Dec 3, 2021
Closed
Closed
This was
linked to
issues
Dec 4, 2021
This was referenced Dec 4, 2021
- 📝 Added complete usage docs with new CamGear's Internal Class with YT-DLP backend. - 🚩 Updated CamGear parameters. - 📝 Added instructions to extract video's metadata. - 📝 Updated Admonitions with related information. - 🔥 Removed any `pafy` and `streamlink` references. - 💄 Updated Functional Block Diagram(`gears_fbd.png`) image. - ♿️ Updated installation instructions. - ⚰️ Removed dead code. - 💡 Updated code comments. 🏷️ Setup.py: Updated Keywords.
abhiTronix
added
SOLVED 🏁
This issue/PR is resolved now. Goal Achieved!
and removed
WORK IN PROGRESS 🚧
currently been worked on.
labels
Dec 4, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ENHANCEMENT ⚡
New Feature/Addition/Improvement
MAINTENANCE 🏗️
Just sorting things out!
SOLVED 🏁
This issue/PR is resolved now. Goal Achieved!
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR implements
YT_backend
a new CamGear's Internal YT-DLP backend class for extracting metadata from Streaming URLs.Notable Changes:
YT_backend
a new CamGear's Internal YT-DLP backend class for extracting metadata from Streaming URLs.best
andworst
resolutions.is_livestream
global YT_backend parameters.ytv_metadata
global parameter to CamGear for accessing video's metadata(such as duration, title, description) on-the-go.streamlink
backend support fromstream_mode
in favor of more reliable CamGear's Internal YT-DLP backend class for extracting metadata from Streaming URLs.ValueError
if streaming site URL is unsupported by yt-dlp backend.yt-dlp
isn't installed andstream_mode
is enabled.pafy
andstreamlink
references.gears_fbd.png
) image.restore_levelnames
method.youtube_url_validator
helper method.streamlink
dependency.pafy
dependency.pyzmq
from latest_version group.test_stream_mode
CamGear test.Requirements / Checklist
Related Issue
#273
#244
#133
Context
This PR is going to implement CamGear's Internal YT-DLP backend class based on
yt-dlp
backend for extracting metadata from YouTube API.Types of changes