-
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
✨ [v0.2.1] Implement support for live input devices/sources. (Fixes #16)
### ✨ New Features - Sourcer API: * Implemented support for extracting metadata from 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 FFmpeg supported demuxers. * Rearranged metadata dict. * Updated Code comments. - FFdecoder API: * Implemented functionality to supported live devices by allowing device path and respective demuxer into pipeline. * Included `-f` FFmpeg parameter into pipeline to specify source device demuxer. * Added special case for discarding `-framerate` value with Nonetype. - CI: * Added new unittest `test_camera_capture()` to test support for live Virtual Camera devices. * Added new `v4l2loopback-dkms`, `v4l2loopback-utils` and kernel related APT dependencies. - Bash Script: * Added new FFmpeg command to extract image datasets from given video on Linux envs. * Created live Virtual Camera devices through `v4l2loopback` library on Github Actions Linux envs. * Added `v4l2loopback` modprobe command to setup Virtual Camera named `VCamera` dynamically at `/dev/video2`. * Added `v4l2-ctl --list-devices` command for debugging. * Implemented FFmpeg command through `nohup`(no hangup) to feed video loop input to Virtual Camera in the background. ### ⚡️ Updates/Improvements - Sourcer API: * Only either `source_demuxer` or `source_extension` attribute can be present in metadata. * Enforced `forced_validate` for live input devices/sources in `validate_source` internal method. - FFdecoder API: * Rearranged FFmpeg parameters in pipeline. * Removed redundant code. * Updated Code comments. - FFhelper API: * Logged error message on metadata extraction failure. - CI: * Restricted `test_camera_capture()` unittest to Linux envs only. * Removed `return_generated_frames_path()` method support for Linux envs. * Pinned jinja2 `3.1.0` or above breaking mkdocs. * `jinja2>=3.1.0` breaks mkdocs (mkdocs/mkdocs#2799), therefore pinned jinja2 version to `<3.1.0`. - Bash Script: * Updated to latest FFmpeg Static Binaries links. * 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. - Setup: * Bumped version to 0.2.1. - Docs: * Updated Roadmap in README.md ### 💥 Updates/Changes - Implement support for live input devices/sources. * `source` parameter now accepts device name or path. * Added `source_demuxer` parameter to specify demuxer for live input devices/sources. * Implemented Automated inserting of `-f` FFmpeg parameter whenever `source_demuxer` is specified by the user. ### 🐛 Bug-fixes - Sourcer API: * Fixed Nonetype value bug in `source_demuxer` assertion logic. * Fixed typos in parameter names. * Added missing import. - FFhelper API: * Logged error message on metadata extraction failure. * Fixed bug with `get_supported_demuxers` not detecting name patterns with commas. * Removed redundant logging. - CI: * Fixed critical permission bug causing `v4l2loopback` to fail on Github Actions Linux envs. * Elevated privileges to `root` by adding `sudo` to all commands(including bash scripts and python commands). * Updated vidgear dependency to pip install from its git `testing` branch with recent bug fixes. * Replaced relative paths with absolute paths in unit tests. * Fixed WriteGear API unable to write frames due to permission errors. * Fixed `test_source_playback()` test failing on Darwin envs with OLD FFmpeg binaries. * Removed `custom_ffmpeg` value for Darwin envs. * Fixed various naming typos. * Fixed missing APT dependencies.
- Loading branch information
Showing
12 changed files
with
307 additions
and
124 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
__version__ = "0.2.0" | ||
__version__ = "0.2.1" |
Oops, something went wrong.