vidgear v0.1.6 Release Notes

Release Date: 2019-12-31 // over 4 years ago
  • ๐Ÿ†• New Features:

    NetGear API:

    • Added powerful ZMQ Authentication & Data Encryption features for NetGear API:
      • Added exclusive secure_mode param for enabling it.
      • Added support for the two most powerful Stonehouse & Ironhouse ZMQ security mechanisms.
      • Added smart auth-certificates/key generation and validation features
    • Implemented Robust Multi-Server support for NetGear API:
      • Enables Multiple Server messaging support with a single client.
      • Added exclusive multiserver_mode param for enabling it.
      • Added support for REQ/REP & PUB/SUB patterns for this mode.
      • Added ability to send additional data of any datatype along with the frame in realtime in this mode.
    • Introducing exclusive Bi-Directional Mode for bidirectional data transmission:
      • Added new return_data parameter to recv() function.
      • Added new bidirectional_mode attribute for enabling this mode.
      • Added support for PAIR & REQ/REP patterns for this mode
      • Added support for sending data of any python datatype.
      • Added support for message parameter for non-exclusive primary modes for this mode.
    • Implemented compression support with on-the-fly flexible frame encoding for the Server-end:
      • Added initial support for JPEG, PNG & BMP encoding formats
      • Added exclusive options attribute compression_format & compression_param to tweak this feature
      • Client-end will now decode frame automatically based on the encoding as well as support decoding flags
    • Added force_terminate attribute flag for handling force socket termination at the Server-end if there's latency in the network.

    - Implemented new Publish/Subscribe(zmq.PUB/zmq.SUB) pattern for seamless Live Streaming in NetGear API.

    PiGear API:

    • Added new threaded internal timing function for PiGear to handle any hardware failures/frozen threads.
    • PiGear will not exit safely with SystemError if Picamera ribbon cable is pulled out to save resources.

    - Added support for new user-defined HWFAILURE_TIMEOUT options attributes to alter timeout.

    VideoGear API:

    • Added framerate global variable and removed redundant function.

    - Added CROP_N_ZOOM attribute in Videogear API for supporting Crop and Zoom stabilizer feature.

    WriteGear API: Added new execute_ffmpeg_cmd function to pass a custom command to its FFmpeg pipeline.

    Stabilizer class:

    • Added new Crop and Zoom feature.
      • Added crop_n_zoom param for enabling this feature.

    - Updated docs.

    โšก๏ธ CLI & Tests updates:

    • Replaced python 3.5 matrices with the latest python 3.8 matrices in the Linux environment.
    • Added full support for Codecov in all CLI environments.
    • Updated OpenCV to v4.2.0-pre(master branch).
    • Added various Netgear API tests.
    • Added initial Screengear API test.
    • More test RTSP feeds added with better error handling in the CamGear network test.
    • Added tests for ZMQ authentication certificate generation.

    - Added badge and Minor doc updates.

    โž• Added VidGear's official native support for macOS environments.

    โšก๏ธ Updates/Improvements:

    • ๐Ÿ–จ Replace print logging commands with python's logging module completely.
    • Implemented encapsulation for class functions and variables on all gears.
    • โšก๏ธ Updated support for screencasting from multiple/all monitors in ScreenGear API.
    • Updated ScreenGear API to use Threaded Queue Mode by default, thereby removed redundant THREADED_QUEUE_MODE param.
    • โšก๏ธ Updated bash script path to download test dataset in $TMPDIR rather than $HOME directory for downloading test data.
    • ๐Ÿ‘ Implemented better error handling of colorspace in various videocapture APIs.
    • โšก๏ธ Updated bash scripts, Moved FFmpeg static binaries to github.com.
    • โšก๏ธ Updated bash scripts, Added additional flag to support un-secure apt sources.
    • CamGear API will now throw RuntimeError if the source provided is invalid.
    • ๐ŸŽ Updated threaded Queue mode in CamGear API for more robust performance.
    • โž• Added new camera_num to support multiple Picameras.
    • ๐Ÿšš Moved thread exceptions to the main thread and then re-raised.
    • โž• Added alternate GitHub mirror for FFmpeg static binaries auto-installation on windows oses.
    • โž• Added colorlog python module for presentable colored logging.
    • Replaced traceback with sys.exc_info.
    • ๐Ÿ“„ Overall APIs Code and Docs optimizations.
    • โšก๏ธ Updated Code Readability and Wiki Docs.
    • โšก๏ธ Updated ReadMe & Changelog with the latest changes.
    • โšก๏ธ Updated Travis CLI Tests with support for the macOS environment.
    • ๐ŸŽ Reformatted & implemented necessary macOS related changes and dependencies in travis.yml.

    ๐Ÿ’ฅ Breaking Updates / Improvements / Changes

    • ๐Ÿฑ โš ๏ธ Python 2.7 legacy support dropped completely.
    • ๐Ÿฑ โš ๏ธ Source-code Relicensed to Apache 2.0 License.
    • ๐Ÿ‘ Python 3+ are only supported legacies for installing Vidgear v0.1.6 and above.
    • โœ… Python 2.7 and 3.4 legacies support dropped from VidGear CLI tests.

    ๐Ÿ›  Fixes

    • ๐ŸŽ Reimplemented Pub/Sub pattern for smoother performance on various networks.
    • ๐Ÿ›  Fixed Assertion error in CamGear API during colorspace manipulation.
    • ๐Ÿ›  Fixed random freezing in Secure Mode and several related performance updates
    • ๐Ÿ›  Fixed multiserver_mode not working properly over some networks.
    • ๐Ÿ›  Fixed assigned Port address ignored bug (commit 073bca1).
    • ๐Ÿ›  Fixed several wrong definition bugs from NetGear API(commit 8f7153c).
    • ๐Ÿ›  Fixed unreliable dataset video URL(rehosted file on github.com).
    • Disabled overwrite_cert for client-end in NetGear API.
    • ๐Ÿ— Disabled Universal Python wheel builds in setup.cfgfile.
    • โœ‚ Removed duplicate code to import MSS(@BoboTiG) from ScreenGear API.
    • Eliminated unused redundant code blocks from the library.
    • ๐Ÿ›  Fixed Code indentation in setup.py and updated new release information.
    • ๐Ÿ›  Fixed code definitions & Typos.
    • Fixed several bugs related to secure_mode & multiserver_mode Modes.
    • ๐Ÿ›  Fixed various macOS environment bugs.

    Pull requests(PR) involved:

    ๐Ÿš€ โš ๏ธ PyPi Release does NOT contain Tests and Scripts!