v0.2.2
π Complete Release Notes can be found here
Summary: Major Docs and API Updates. π
β¨ New Features
- Sourcer API:
- Added support for
-ffprefixesattribute through Sourcer API'ssourcer_paramdictionary parameter (similar to FFdecoder API).
- Added support for
- FFdecoder API:
- Added new
output_frames_pixfmtmetadata property to preview and handle output frames pixel-format.
- Added new
- Docs:
- Added separate "Basic" and "Advanced" Recipes markdowns files with self-explanatory text, related usage code, asset (such as images, diagrams, GIFs, etc.), and UI upgrades for bringing standard quality to visual design.
- Added separate
index.mdfor Basic and Advanced Recipes with introductory text and curated hyperlinks for quick references to various recipes (separated with sub-categories "Decoding", "Transcoding", and "Extracting Video Metadata"). - Added new Basic Decoding Recipes:
- Added Decoding Video files with various pixel formats recipes.
- Added Decoding Live Feed Devices recipes with
source_demuxerFFdecoder API parameter. - Added Decoding Image sequences recipes supporting Sequential, Glob pattern , Single (looping) image.
- Added Decoding Network Streams recipes.
- Added new Basic Transcoding Recipes:
- Added Transcoding Live frames recipes with OpenCV and WriteGear.
- Added Transcoding Live Simple Filtergraphs recipes with OpenCV.
- Added Saving Key-frames as Image recipes with different image processing libraries.
- Added new Basic Extracting Video Metadata Recipes:
- Added Extracting Video Metadata recipes with FFdecoder and Sourcer APIs.
- Added new Advanced Decoding Recipes:
- Added Hardware-Accelerated Video Decoding recipe using NVIDIA's H.264 CUVID Video-decoder(
h264_cuvid). - Added Decoding Live Virtual Sources recipes with many test patterns using
lavfiinput virtual device.
- Added Hardware-Accelerated Video Decoding recipe using NVIDIA's H.264 CUVID Video-decoder(
- Added new Advanced Decoding Recipes:
- Added lossless Hardware-Accelerated Video Transcoding recipe with WriteGear API.
- Added Transcoding Live Complex Filtergraphs recipes with WriteGear API.
- Added Transcoding Video Art with Filtergraphs recipes with WriteGear API for creating real-time artistic generative video art using simple and complex filtergraphs.
- Added new Advanced Updating Video Metadata Recipes:
- Added Updating Video Metadata recipes with user-defined as well as source metadata in FFdecoder API.
- Added new dark and light theme logo support.
β‘οΈ Updates/Improvements
- Sourcer API:
- Implemented new validation checks to ensure given
sourcehas usable video stream available by checking availability of eithervideo bitrateor bothframe-sizeandframerate_ properties in the source metadata. - Improved
extract_resolution_frameratemethod for making framerate extraction more robust by falling back to extractingTBRvalue when no framerate value available in the source metadata.
- Implemented new validation checks to ensure given
- FFdecoder API:
- Updated
metadataproperty object to validate and override source metadata properties directly by overloading same property object before formulating Frames Decoder Pipeline:- Implemented validation checks to verify each validate manually assigned source metadata property against specific datatype before overriding.
- Updated
metadataproperty object to handle and assign User-defined metadata directly by overloading the same property object:- FFdecoder API's
metadataproperty object now returns User-defined metadata information merged with Source Video metadata.
- FFdecoder API's
- Updated
- Docs:
- Reformatted all Core class and methods text descriptions:
- Fixed missing class and methods parameter description.
- Reformatted code comments.
- Rewritten Introduction(
index.md) with recent Information, redefined context, UI changes, updated recipe codes, curated hyperlinks to various recipes(separated with categories), and relatable GIFs. - Reformatted and centered DeFFcode Introductory description.
- Updated Key Features section with reflecting new features.
- Updated docs site navigation and titles in
mkdocs.yml. - Added custom
spacerclass in CSS for custom vertical spacing. - Updated all admonitions icons with new custom icon SVG+XML URLs.
- Updated docs fonts.
- Updated primary and accent colors.
- Updated API Reference docs.
- Changed Color palette toggle icons.
- Updated icons in title headings.
- Updated admonition messages.
- Reformatted all Core class and methods text descriptions:
π₯ Updates/Changes
- Sourcer API:
- π Sourcer API's
retrieve_metadata()method now returns parsed metadata either as JSON string or dictionary type.- Added new
pretty_jsonboolean parameter toretrieve_metadata(), that is whenTrue, returns metadata formatted as JSON string instead of default python dictionary.
- Added new
β οΈ ChangedIOErrortoValueErrorin Sourcer API, raised when source with no decodable audio or video stream is provided.
- π Sourcer API's
- FFdecoder API:
β οΈ Renameextraparamsdictionary parameter toffparamsin FFdecoder API.- π The
sourcemetadata value cannot be altered throughmetadataproperty object in FFdecoder API. β οΈ Removed-ffpostfixesattribute support fromffparamsdictionary parameter in FFdecoder API.
π Bug-fixes
- FFdecoder API:
- Fixed
metadataproperty object unable to process user-defined keys when any source metadata keys are defined. - Fixed
TypeErrorbug with string type-framerateparameter values.
- Fixed
- Sourcer API:
- Fixed Sourcer API throws
IOErrorfor videos containing streams without both source bitrate and framerate defined (such as fromlavfiinput virtual device). - Fixed
AttributeErrorbug due to typo in variable name.
- Fixed Sourcer API throws
π‘ Pull Requests
- PR #23