v0.2.0
π Complete Release Notes can be found here
π All available stable python 3.7+ versions are now officially supported by DeFFcode. π
New Features β¨
- Sourcer API:
- Added a new
source_audio_sampleratemetadata parameter. - Added new
-force_validate_sourceattribute to Sourcer API'ssourcer_paramsdictionary parameter for special cases. - Added metadata extraction support:
- Added
retrieve_metadataclass method to Sourcer API for extracting source metadata as python dictionary.
- Added
- Added a new
- FFdecoder API:
- Added metadata extraction and updation support:
- Added
metadataproperty object function to FFdecoder API for retrieving source metadata form Sourcer API as dict and return it as JSON dump for pretty printing. - Added
metadataproperty object withsetter()method for updating source metadata with user-defined dictionary.
- Added
- Added metadata extraction and updation support:
- Tests:
- Added DeFFcode unit tests with
pytest.
- Added DeFFcode unit tests with
- Continuous Integration:
- Automated CI support for different environments:
- Implemented auto-handling of dependencies installation, unit testing, and coverage report uploading.
- Added GitHub Action workflow for Linux envs.
- Added Appveyor workflow for Windows envs.
- Added Azure-Pipelines workflow for MacOS envs.
- Implement new automated Docs Building and Deployment on
gh-pagesthrough GitHub Actions workflow. - Added new Automated Docs Versioning.
- Added Skip Duplicate Actions Workflow to DeFFcode Docs Deployer.
- Automated CI support for different environments:
- Maintenance:
- New DeFFcode project issue and PR templates.
- Added new
FUNDING.ymlwith ko-fi donation link. - Added
.gitattributesfor DeFFcode, that set the default behavior, in case people don't havecore.autocrlfset. - Imported Codecov config(
codecov.yml) from vidgear to modify coverage parameters.
- Docs:
- Added new comprehensive documentation with
mkdocsandmkdocs-materialtheme.
- Added new comprehensive documentation with
Updates/Improvements β‘οΈ
- FFdecoder API:
- Removed redundant forcing
-rFFmpeg parameter for image sequences as source. - Removed redundant checks on
-vfFFmpeg parameter. - FFmpeg parameter
-swill be discarded in favor of-custom_resolutionattribute. - Replaced
-constant_frameratewith FFmpeg-framerateattribute. - Replaced
-custom_source_paramswith correct-custom_sourcer_paramsattribute. - Renamed
operational_modemetadata parameter toffdecoder_operational_mode.
- Removed redundant forcing
- Sourcer API:
- Converted all Sourcer API's public variables into private ones.
- Moved FFmpeg path validation and handling to Sourcer from FFdecoder API.
- Moved
-ffmpeg_download_pathdictionary attribute to Sourcer API'ssourcer_paramsparameter.
- Moved
- Continuous Integration:
- Excluded
devbranch from triggering workflow on any environment.
- Excluded
- Maintenance:
- Updated LICENSE notice to add vidgear notice.
- Bumped version to
0.2.0
Breaking Updates/Changes π₯
β οΈ Sourcer API will now raises Assertion error ifprobe_stream()not called before callingretrieve_metadata().β οΈ Only-frameratevalues greater than0.0are now valid.β οΈ Renameddecode_streamtoprobe_streamin Sourcer API.β οΈ Any of video bitrate or video framerate are sufficient to validate if source contains valid video stream(s).β οΈ Any of audio bitrate or audio samplerate are sufficient to validate if source contains valid audio stream(s).
Bug-fixes π
- APIs:
- Added missing
delete_file_safefunction in utils.py - Fixed forward slash bugs in regex patterns.
- Fixed
IndexErrorwhen no bitrate was discovered in given source. - Fixed FFmpeg subprocess pipeline not terminating gracefully in FFdecoder API.
- Fixed
__version__not defined in DeFFcode's__init__.pythat throwsAttributeErroron any query.
- Added missing