-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
✨ [v0.2.1] Implement support for live input devices/sources. (Fixes #16) #17
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
…sources. (#16) - ⚡️ Implemented support for extracting metadata from live input devices/sources. - 🚧 `source` parameter now accepts device name or path. - 🚩 Added `source_demuxer` parameter to specify demuxer for live input devices/sources. - ✨ Added new `source_demuxer` and `forced_validate` parameters to `validate_source` internal method. - 🥅 Implemented logic to validate `source_demuxer` value against available demuxers. - 🚩 Included `-f` FFmpeg parameter into pipeline to specify source device demuxer.
… in metadata. - 🎨 Only either `source_demuxer` or `source_extension` attribute can be present in metadata.
- 🚩 Added `source_demuxer` parameter to specify demuxer for live input devices/sources. - 🚧 Implemented functionality to supported live devices by allowing device path and respective demuxer into pipeline. - ✨ Automated inserting of `-f` FFmpeg parameter whenever `source_demuxer` is specified by the user. - ✏️ Fixed typos in parameter names. - 🔥 Removed redundant code.
- 🎨 Minor tweaks in code formatting.
abhiTronix
added
Enhancement ⚡
New feature Issue/Request enhancing DeFFcode APIs.
WIP 🏗️
Work in Progress
Idea 💡
New ideas for improving or enhancing DeFFcode APIs.
labels
Jul 8, 2022
- 📌 `jinja2>=3.1.0` breaks mkdocs (mkdocs/mkdocs#2799), therefore pinned jinja2 version to `<3.1.0`.
Codecov Report
@@ Coverage Diff @@
## master #17 +/- ##
==========================================
- Coverage 96.21% 96.08% -0.14%
==========================================
Files 6 6
Lines 582 587 +5
==========================================
+ Hits 560 564 +4
- Misses 22 23 +1
Continue to review full report at Codecov.
|
- ✅ Added new `test_cameradevice` to test FFdecoder's webcam playback capabilities. - ✨ Added `array_data` to generate random data of given frame-size and frame number. - ➕ Added `pyvirtualcam` pip dependency. - ➕ Added `v4l2loopback-dkms` apt dependency. - 🥅 `test_cameradevice` will be enabled for Linux platforms only. - 🚧 Added necessary imports.
- Added `v4l2-ctl` command for debugging.
Finally it worked. FK U v4l2loopback. 🖕🏽 |
- ⚡️ Updated download links to abhiTronix/ffmpeg-static-builds - hosting latest available versions. - 🔖 Updated date/version tag to `12-07-2022`. - 🔥 Removed depreciated binaries download links and code.
- 📝 Docs: Updated roadmap.
abhiTronix
changed the title
✨ [WIP] Implement support for live input devices/sources. (Fixes #16)
✨ [v0.2.1] Implement support for live input devices/sources. (Fixes #16)
Jul 14, 2022
abhiTronix
added
Solved 🥅
Final goal achieved.
and removed
WIP 🏗️
Work in Progress
labels
Jul 14, 2022
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Enhancement ⚡
New feature Issue/Request enhancing DeFFcode APIs.
Idea 💡
New ideas for improving or enhancing DeFFcode APIs.
Solved 🥅
Final 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.
Brief Description
Added support for Live-Device Inputs such as Webcams, Screen-capture, virtual webcams will be added to DeFFcode.
PR Key features:
✨ New Features
source_demuxer
andforced_validate
parameters tovalidate_source
internal method.source_demuxer
value against FFmpeg supported demuxers.-f
FFmpeg parameter into pipeline to specify source device demuxer.-framerate
value with Nonetype.test_camera_capture()
to test support for live Virtual Camera devices.v4l2loopback-dkms
,v4l2loopback-utils
and kernel related APT dependencies.v4l2loopback
library on Github Actions Linux envs.v4l2loopback
modprobe command to setup Virtual Camera namedVCamera
dynamically at/dev/video2
.v4l2-ctl --list-devices
command for debugging.nohup
(no hangup) to feed video loop input to Virtual Camera in the background.⚡️ Updates/Improvements
source_demuxer
orsource_extension
attribute can be present in metadata.forced_validate
for live input devices/sources invalidate_source
internal method.test_camera_capture()
unittest to Linux envs only.return_generated_frames_path()
method support for Linux envs.3.1.0
or above breaking mkdocs.jinja2>=3.1.0
breaks mkdocs (jinja2 3.1.0 breaks mkdocs mkdocs/mkdocs#2799), therefore pinned jinja2 version to<3.1.0
.12-07-2022
.💥 Updates/Changes
source
parameter now accepts device name or path.source_demuxer
parameter to specify demuxer for live input devices/sources.-f
FFmpeg parameter wheneversource_demuxer
is specified by the user.🐛 Bug-fixes
source_demuxer
assertion logic.get_supported_demuxers
not detecting name patterns with commas.v4l2loopback
to fail on Github Actions Linux envs.root
by addingsudo
to all commands(including bash scripts and python commands).testing
branch with recent bug fixes.test_source_playback()
test failing on Darwin envs with OLD FFmpeg binaries.custom_ffmpeg
value for Darwin envs.Requirements / Checklist
Related Issue
#16
Context
The crucial VideoCapture support for live(realtime) device inputs(such as Webcams, Screen-capture, virtual webcams etc.) are still missing from Deffcode. This PR will implementation this functionality.
Types of changes
Miscellaneous (if available):
Example code for real-time screen-capturing on windows: