72 Commits

Author SHA1 Message Date
Abhishek Thakur 8d20b9f553 📝 Documentation Overhaul: Improve Structure, Consistency, and Clarity Across Project Docs (#434)
* 🐛 Fix labels format in issue templates for consistency

* 📝 Docs: Update Python version requirements and package references in installation documentation and setup

*  Update mkdocs.yml: Enhance navigation features and restructure documentation links for clarity

* ♻️ Refactor video player initialization in extra.js and remove unused sponsorship styles from custom.css; delete obsolete js_hook.py

* 📝 Update documentation links for consistency and clarity with new index paths.

* 📝 Update get_help.md: Improve FAQ and Bonus Examples sections for clarity and consistency

* 📝 Update documentation images: Add titles to images for better accessibility and context in various doc files.

*  Docs: Add new  common WriteGear API parameters doc page.

* ⬆️ Update CI workflow: Change runner from Ubuntu 20.04 to 22.04 for improved compatibility

Ubuntu 20.04 LTS runner was removed on 2025-04-15. For more details, see actions/runner-images#11101

* 🛠️ Update installation scripts: Remove non-compatible v4l2loopback dependencies and add installation for v4l2loopback kernel module.

* 🛠️ Refactor OpenCV installation script: Organize dependency installation into sections for clarity and maintainability.

* ⬆️ Update CI workflow: Upgrade runner to Ubuntu 24.04 and Codecov action to v5 for improved compatibility.

* 🐛 Fix test_webpage_reload: Add asyncio marker for proper test execution in pytest.

* ⬆️ Update CI workflow: Change runner from Ubuntu 24.04 to 22.04 for compatibility

* 🐛 PiGear: Remove global declaration for picamera

* 📚 Update links in output_params section: Correct relative paths for Compression and Non-Compression Mode parameters.
2025-11-12 01:33:53 +05:30
Abhishek Thakur ca071bdbb5 💥 Dropped support for Python 3.8.x legacy (#431)
* 📚 Update README and documentation citations to reflect new DOI

* 🧹 Update .gitignore: Expand ignored files and directories for better environment management

* 📦 Update setup.py: Support Python 3.12 and require a minimum of Python 3.9

* 🔧 Update CI/CD workflows: Add support for Python 3.12 and upgrade action versions

* 🧹 Remove unused imports for improved code clarity

* 🔧 Refactor: Replace pkg_resources with packaging.version for improved compatibility

* 📦 Update setup.py: Add `packaging` dependency

* 🔧 Refactor: Replace pkg_resources with packaging.version for backward compatibility

* 🔧 Update setup.py: Remove unused version extraction and set version to 0.3.4

* 🔧 Enhance CI and installation scripts: Add Python and pip version checks

* 🔧 Update CI workflow: Check OpenCV version before installing dependencies
2025-11-12 01:33:53 +05:30
abhiTronix d6c56871ec 🚚 Bash Script: Moved FFmpeg static binaries from GitHub to Gitlab. 2023-09-05 00:30:11 +05:30
abhiTronix 48ee6854ab 🐛 Bash: Fixed syntax errors. 2023-01-06 10:45:52 +05:30
abhiTronix a88ed397d7 🐛 Bash: Fixed command not found error.
- 🚑️ Fixed conditional logic to check file is downloaded properly.
- 🚑️ Corrected Decrement Variable code in Bash.
- ♻️ Removed unnecessary quotes.
2023-01-06 10:37:21 +05:30
abhiTronix 342441e76c 🚑️ Bash: Fixed condition not working and other minor tweaks. 2023-01-06 00:20:45 +05:30
abhiTronix 4e9d3535f9 🏗️ Core: Moved/Cloned all assets from GitHub to GitLab (Fixes #347)
- 🚚 Mirrored all assets to `gitlab.com` for smoother user-experience while accessing vidgear assets.
- 🚸 Replaced all `raw.githubusercontent.com` URLs with `gitlab.com` URLs.
- ✏️ Fixed typos in README.md.

👷 CI: Added test cases for newer implementation of `validate_audio` method.
2023-01-05 23:38:30 +05:30
abhiTronix 6f3968eac1 🔊 Bash Script: Improved logging. 2023-01-02 20:14:58 +05:30
abhiTronix 664a729f2e 🐛 CI: Fixed Gstreamer bug.
- 👷 Updated bash file.
- 📌 Pinned Linux image to `ubuntu-20.04`.
2023-01-02 19:43:49 +05:30
abhiTronix 6210003a4d 🐛 Bash: Fixed gstreamer installation. 2023-01-02 13:06:03 +05:30
abhiTronix ef0a742511 🚧 CI: Force triggering unittests. 2022-07-20 11:26:34 +05:30
abhiTronix 9f91ceee8a 🔨 Bash Script: Updated FFmpeg Static Binaries links to latest.
- ️ 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.
2022-07-12 08:02:26 +05:30
Vincent Boivin 1d74e5f017 Added .gitignore to ignore pycaches and removed Windows carriage returns from scripts 2021-09-30 11:08:11 -04:00
abhiTronix a091d004f7 📄 License: Dropped publication year range to avoid confusion. (Signed and Approved by @abhiTronix)
- 📄 Updated Vidgear license's year of first publication of the work in accordance with US copyright notices defined by Title 17, Chapter 4(Visually perceptible copies): https://www.copyright.gov/title17/92chap4.html (Fixes #238)
- 💥 Reflected changes in all copyright notices.
2021-08-11 17:17:34 +05:30
abhiTronix 2aec45b702 👷 CI: Updated CI tests for new HLS support
- 👷 Updated CI tests from scratch for new native HLS support in StreamGear.
-  Added support for `hls` format in existing CI tests.
-  Added new functions `check_valid_m3u8` and `extract_meta_video` for validating HLS files.
-  Added new `m3u8` dependency to CI workflows.
- 💚 Fixed several bugs related to CI tests.

- 🐛 StreamGear: Fixed bugs related to external audio not mapped correctly in HLS format.
- 🔨 BASH: Added new `temp_m3u8` folder for generating M3U8 assets in CI tests.
- Docs:
  - 💡 Updated code comments.
  - 📝 Updated docs.
2021-08-06 07:26:05 +05:30
abhiTronix 77c2c4042b 🎨 CI and Docs: Major Updates
- NetGear_Async: Revised logic for handling uvloop for all platforms and legaci$
- Setup: Updated logic to install uvloop-"v0.14.0" for python-3.6 legacies.
- Fixed anomalies in `install_opencv` Bash Script.
- Extended `create_blank_frame` to non-asyncio helper.py and updates related te$
- Reimplemented and updated `changelog.md`.
- Various small updates to docs.
- Fixed CamGear CI Test bug.
- Bumped Codecov.
2021-03-28 10:45:50 +05:30
abhiTronix 23938176c9 🐛 CI Tests: New Bug-Fixes
- Fixed uvloops only supporting python>=3.7 in NetGear_Async.
- Fixed WriteGear CI Test.
- Fixed Typo in bash script.
2021-03-01 08:25:43 +05:30
Abhishek Thakur 684dde0b23 🔨CI: Updated OpenCV Bash Script for Linux envs 2021-02-28 23:15:01 +05:30
abhishek 1430edf854 🔨 Bash Scripts: New Updates and bug-fixes
- Updated OpenCV version to `4.5.1-dev` in bash scripts
- Fixed GStreamer plugin support in bash scripts.
- ⚠️ Removed Travis support and `travis.yml` deleted.
- Fixed typos in YAMLs and docs.
- Updated changelog.
2020-12-29 21:01:41 +05:30
abhishek a31d9ac1d0 🔨 Bash Script: Updated to Latest OpenCV Binaries version and related changes 2020-12-29 17:33:01 +05:30
abhishek f4b1735173 CamGear: Support for various Live-Video-Streaming services (Fixes #160)
- Added seamless support for live video streaming sites like Twitch, LiveStream, Dailymotion etc.
- Implemented flexible framework around `streamlink` python library with easy control over parameters and quality.
- Stream Mode can now automatically detects whether `source` belong to YouTube or elsewhere, and handles it with appropriate API.
- Added additional `STREAM_QUALITY` and `STREAM_PARAMS` attributes.
- Updated docs with all new additions and examples.
- Moved WebGear API to Streaming Gears.
- Added `restore_levelnames` auxiliary method.
- Updated CI tests, `setup.py` and `ReadMe.md`.
- Fixed Several logging bugs.
- Bumped `dev` version.
2020-12-28 23:39:44 +05:30
abhishek 1882f91aaf 🐛 Bash Scripts: Fixed OpenCV Release binaries detection bugs 2020-12-27 19:18:36 +05:30
abhishek c75ed1f15d Bug Fix: Added new ffmpeg test path to Bash-Script and updated README link. 2020-11-04 19:25:22 +05:30
abhishek e474f60207 More Critical bugfixes
- Fixed StreamGear's wrong attribute name.
- Replaced wrong `audioSamplingRate` definition.
- Fixed missing source dimensions from `extract_resolutions` output.
- Created new `temp_write` temp directory for WriteGear Assets in bash script.
- Assigned `temp_write` to WriteGear's Compression CI tests.
2020-08-27 18:10:42 +05:30
abhishek 616cc2a7bd Major StreamGear, CI and other enhancements
- Reimplemented audio handler in StreamGear.
- Reimplemented `return_testvideo_path` CI function with variable streams.
- Simplified default audio-bitrate logic in StreamGear
- Updated `validate_audio` Helper function will now retrieve audio-bitrate for validation.
- Added new Video-only and Audio-Only sources in bash scripts.
- Added new path for storing StreamGear assets temporarily in bash scripts.
- Added More StreamGear CI Tests.
- Fixed few wrong definition.
- Bumped Dev version
2020-08-26 22:45:26 +05:30
abhishek 38ad11db9b VidGear Docs: Complete Migration to Mkdocs (Fixes #130)
- Implemented a beautiful, static documentation site based on MkDocs which will then be hosted on GitHub Pages.
- Crafted base mkdocs with third-party elegant `mkdocs-material` theme.
- Implemented new `mkdocs.yml` with relevant data.

- Added new `docs` folder to handle markdown pages and its assets.
- Added new markdown to docs folder, with carefully crafted documents, based on previous wikis, and some completely new additions.
- Added navigation under tabs for easily accessing each document.

- Added new assets like gifs, images, custom scripts, favicons, site.webmanifest for bringing standard and quality to Docs visual design.
- Designed brand new logo and banner for VidGear Documents.
- Deployed all assets under separate Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.

- Added support for all pymarkdown-extensions.
- Added support for some important `admonition`, `attr_list`, `codehilite`, `def_list`, `footnotes`, `meta`, and `toc` like Mkdocs extensions.
- Enabled search and git-revision-date-localized plugins support.
- Added various VidGear, and its author's social links to yaml.
- Added support for `en` (English) language.

- Added support for `mkdocstrings` plugin for auto-built API references.
- Added python handler for parsing python source-code to `mkdocstrings`.
- Improved source-code docs for compatibility with `mkdocstrings`.

- Implemented automated Deployment on gh-pages through GitHub Actions workflow.
- Added new workflow yaml for automated docs deployment.
- Adde complete python dependencies and environment.
- Added `master` branch on Ubuntu machine to build matrix.

- Updated Readme.md, Issue and PR templates with new information and updates.
- Updated license and bumped version to `0.1.8` for upcoming stable release.
- Moved changelog.md to `/docs` and updated contribution guidelines.
- Many small typos and bugs fixes.
2020-06-10 23:07:24 +05:30
Abhishek Thakur 376e4d2e73 More Docs Updates 2020-04-28 00:07:15 +05:30
abhishek ca56678c11 Added dos2unix for Travis OSX envs 2020-04-23 14:44:13 +05:30
abhishek 81e9fa8d2c Major Bug Fixes
- Workaround for CAP_IMAGES: error in Youtube Mode (Issue #125)
- Replaced line endings to LF endings
2020-04-23 13:54:44 +05:30
Abhishek 7d0fc64c30 Major Enhancements and Improvements
- Reimplemented and simplified logic for NetGear Async server-end.
- Added new tests for NetGear_Async Network Gear.
- Added Benchmark tests for benchmarking NetGear_Async against NetGear.
- Added new highly-precise Threaded FPS class for accurate benchmarking.
- Updated OpenCV to latest(4.2.0-dev) for Linux test envs.
- Added NetGear_Async to codecov.
- Fixed many typos for NetGear_async.
- Removed redundant benchmarking tests for now.
- Added fix for opencv installer failure on Linux test env.
2020-03-11 09:35:18 +05:30
Abhishek bbfd05704d Fixes typos 2020-03-09 22:07:06 +05:30
Abhishek 5e8a347d3a replaced wget with curl 2020-03-09 21:13:46 +05:30
Abhishek b19e00ebd7 More Fixes 2020-03-09 20:46:58 +05:30
Abhishek 9faf9d3869 Added retry for OpenCV downloader bashscript 2020-03-09 20:33:20 +05:30
Abhishek f7ab2b4098 Additional Fixes 2020-03-09 15:49:22 +05:30
Abhishek ee3bf9263c Reduced number of Tests to fix timeout 2020-03-09 14:01:56 +05:30
Abhishek Thakur d57f01eeb8 New Enhancements, Updates and BugFixes (#98)
⚠️ Dropped support for Python 3.5 and below legacies.(Fix #99)

Enhancements:
  - Introducing WebGear - A powerful ASGI Video-streamer API (Fix #87)
	* Added a robust Live Video Streaming Server API that can transfer live video frames to any web browser on the network in real-time.
    * Implemented a flexible asyncio wrapper around `Starlette` ASGI library that can easily access its various components independently.
    * Added seamless access to various Starlette Response classes, Routing tables, Static Files, Templating engine(with Jinja2), etc.
    * Created a special internal wrapper around VideoGear API and gave access to all its parameters and attributes.
    * Introduced new Auto-Generation Process to generate WebGear data files from the GitHub server and validate them automatically.
    * Added exclusive dictionary attributes to tweak WebGear performance, Route Tables and other internal properties.
    * Added new simple & elegant Bootstrap's Cover template, by @mdo for WebGear Server.
    * Implemented a new reducer function to reduce the frame size on-the-go.
    * Built  `__main__.py` to directly run WebGear Server through the terminal. 

Updates:
 - WebGear API Updates:
 	* Added `uvicorn` as an optional dependency to run WebGear as a live server.
 	* Improved and added `shutdown` function for safely stopping frame producer threads.
 - Logging Updates:
 	* Replaced terminal progress bar with exclusive `TQDM` library's pbar.
 - Bash Updates:
    * Moved benchmark test videos to more reliable GitHub mirror.
 - CLI Updates:
    * Improved & fixed various CLI tests for CamGear, NetGear & VideoGear API.
 	* Added various CLI tests for WebGear API.
  -  Updated wiki and code docs.

BugFixes:
  * Added missing `camera_num` parameter to VideoGear.
  * Added OpenSSL's `SSL: CERTIFICATE_VERIFY_FAILED` bug workaround for macOS envs. (Fix #100)
  * Removed videocapture benchmark tests from macOS envs.
  * Removed trivial `__main__.py` from codecov..
2020-01-21 17:54:55 +05:30
Abhishek Thakur 98c7d6e81d Important Enhancements (#82)
- ⚠️ Upgrade to new Apache 2.0 license*- (Approved: @abhiTronix) (#81)
  - Reflected changes in source-code docs.
  - Upgraded the LICENSE file.
- Replace `print` logging commands with python's logging module completely. (#80)
  - Added minimum fixture for logging module without altering existing functionality
  - Added Formatter for logger for better readability.
-  Added Thread name for Threaded Queue Mode in VideoCapture APIs.
- Updates for ReadMe and Docs.
- Minor fixes for CLI.
2019-12-20 06:29:47 +00:00
Abhishek Thakur c8a6339867 Important Enhancements and BugFixes for next release (#77)
- ⚠️ Dropped python 2.7 legacy support for vidgear.

- Enhancements/Updates:
  - VideoGear API:
    * Added `framerate` global variable and removed redundant function.
    * Added `CROP_N_ZOOM` attribute in Videogear API for supporting Crop and Zoom feature.
  - WriteGear API: Added new `execute_ffmpeg_cmd` function to pass a custom command to its FFmpeg pipeline.
  - CLI & Tests updates:
    * Replaced python 3.5 matrices with latest python 3.8 matrices in 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 CamGear network test
    * Added tests for ZMQ authentication certificate generation
    * Added badge and Minor doc updates
  - Stabilizer class Update:
    * Added new Crop and Zoom feature 
    * Added `crop_n_zoom` param for enabling this feature
    * Updated docs
  * Overall APIs Code and Docs optimizations and minor tweaks

- Bugfixes
  - NetGear API: 
    * Fixed random freezing in `Secure Mode` and several related performance updates
    * Eliminated redundant code blocks
    * Disabled `overwrite_cert` for client-end
  - CamGear API:
    * Fixed Assertion error in CamGear API during colorspace manipulation (#78)
    * Implemented better error handling of colorspace in videocapture APIs
    * CamGear will now throw `RuntimeError` if source provided is invalid
    * Updates for threaded Queue mode in CamGear API for robust performance
    * Added additional logging messages for CamGear API 
  * Fixed Code indentation in `setup.py`
  * Numerous Bug  fixes
2019-12-16 03:10:47 +00:00
Abhishek 4718d06ebe Fix Bash Script: Fix unsecure apt sources 2019-12-02 16:55:30 +05:30
Abhishek 526a209c84 Bash Script Fixes: Fixed curl flags 2019-12-02 16:17:20 +05:30
Abhishek 68cde2f1af Bash Script Fix:
- Moved FFmpeg static binaries to more reliable source
- Mirrored files on github.com
2019-12-02 11:49:38 +05:30
Abhishek b0c01235cb Fixes for MacOS environment-2 2019-10-09 14:08:00 +05:30
Abhishek 349432bc7a Fix for MacOS environments 2019-10-09 13:34:39 +05:30
Abhishek b0cb7cd7ea Code Maintaince & Enhancements:
- Updated bash script path to $TMPDIR from $HOME
- Updated Code Readability
- Fixed code definitions & Typos
2019-10-09 10:55:59 +05:30
Abhishek Thakur d416e05c8b [Enhancement] Adding OSX environment support for Travis Cli tests (#42)
[Enhancement] Adding OSX environment support for Travis Cli tests

- Dropped Python 2.7 Support from CLI Tests
- Reformatted travis.yml from scratch
- Added native support for MacOS environment
- Added necessary system-specific dependencies
- Added Static binaries FFmpeg for MacOS
- Fixed Redundant URL
- Fixed Bugs
- Updated Docs
2019-07-30 12:41:34 +05:30
Abhishek d7553535f2 Minor fixes
- Fixed Indentation
- Fixed FPS test class
- Removed redundant imports
2019-07-21 21:53:24 +05:30
Abhishek 81c644c93d Fixed Cli Issues
- fixed compatibiltity with newer ffmpeg
- changed youtube URL
- minor fixes
2019-07-14 10:22:41 +05:30
Abhishek c885c1b6b4 Enhancement: Introducing NetGear: Real-time video frames transferring via messaging system
- enables synchronous video frames transferring between interconnecting systems over the network
- a high-level wrapper around PyZmQ that contains python bindings for ZeroMQ
- operates in server/`Send Mode` or client/`Receive Mode`
- enabled Threading for recv() function
- Added threaded Queue Mode for recv() function
- enhancement: server can remotely terminate client
- Added Docs
- Fixed many related bugs
- fixed typos and function definations
- other minor fixes
2019-07-13 19:57:33 +05:30
Abhishek 7ef41a4a16 Fixed Test Failing(Numpy Fix-3) 2019-07-06 11:12:15 +05:30