| Name | multiwebcam JSON |
| Version |
0.1.1
JSON |
| download |
| home_page | |
| Summary | Record synchronized webcam footage |
| upload_time | 2024-01-07 16:28:59 |
| maintainer | |
| docs_url | None |
| author | Mac Prible |
| requires_python | >=3.10,<3.13 |
| license | LGPLv3 |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
<div align="center">
# đˇđˇđˇ MULTIWEBCAM đˇđˇđˇ
<img src = "https://github.com/mprib/multiwebcam/assets/31831778/73636fdb-c5a1-4f29-af7d-418a1072b0be" width = "200">
*Synchronized webcam recording to bootstrap low-cost/early-stage computer vision projects*
</div>
<div align="center">
[](https://www.gnu.org/licenses/lgpl-3.0.en.html)
[](https://pypi.org/project/multiwebcam/)
[](https://github.com/mprib/multiwebcam/commits)

</div>
# Introduction
I needed a way to record synchronized video while prototyping a computer vision project ([pyxy3D](https://github.com/mprib/pyxy3d)). Extreme temporal and spatial precision were less important than getting something reasonable with a minimal budget. When conscientiously managed, USB webcams controlled via OpenCV can perform surprisingly well at this task. I have spun this functionality off into its own package to create a clear seperation of concerns between data capture and data processing, while hopefully creating a simpler package that others might find useful.
If MultiWebCam (MWC) is close to what you need but not quite, please feel free to raise an issue and I'll see if I can incorporate your use case. These are the core functions that are currently implemented:
- Record synchronized frames from multiple webcams
- Record from single webcams to pull single camera calibration video.
- synchronize in real time to understand dropped frame rate
- include frame-by-frame time stamp history to facilitate off-line processing
- easy adjustment of the following parameters:
- resolution
- exposure
- target fps
# Quick Start
## Basic `pip` install
You can install MWC into your python environment with `pip install multiwebcam` and then launch it from the command line with
```bash
mwc
```
Note that this has primarily been tested on Windows 10, infrequently on MacOS, and will not work on Linux as far as I can tell âšī¸. If someone is familiar with getting USB cameras working through OpenCV on Linux, I'm all ears.
## Editable Install Using Poetry
If you prefer to contribute to MWC or want to install it in editable mode, follow these steps using Poetry:
Clone the Repository:
```bash
git clone https://github.com/mprib/multiwebcam.git
cd multiwebcam
```
Install Poetry:
```
pip install poetry
```
Set Up the Environment:
```bash
poetry install
```
By running poetry install, you'll install all dependencies and also set up the multiwebcam package in editable mode. Any changes you make to the code will be reflected in your environment.
# Capturing Data
Launch MultiWebCam from the command line:
```
mwc
```
Once you've launched MultiWebCam, choose a new project directory through the File menu. Make sure that the USB cameras you want to use are currently plugged in when you launch the new session.
MWC will attempt to connect to the cameras currently and will create a `recording_config.toml` file in the project directory.
From the `Mode` menu you can select single camera to change camera settings (such as resolution and exposure). On the MultCamera mode you can set the target fps to achieve a desired dropped frame rate and record batches of videos.
Raw data
{
"_id": null,
"home_page": "",
"name": "multiwebcam",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<3.13",
"maintainer_email": "",
"keywords": "",
"author": "Mac Prible",
"author_email": "prible@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ea/1e/9ac6d47b714fd7a25752246326dd95d5899fefb493557a226f3bb549a85b/multiwebcam-0.1.1.tar.gz",
"platform": null,
"description": "\n\n\n<div align=\"center\"> \n\n# \ud83d\udcf7\ud83d\udcf7\ud83d\udcf7 MULTIWEBCAM \ud83d\udcf7\ud83d\udcf7\ud83d\udcf7\n \n <img src = \"https://github.com/mprib/multiwebcam/assets/31831778/73636fdb-c5a1-4f29-af7d-418a1072b0be\" width = \"200\">\n\n*Synchronized webcam recording to bootstrap low-cost/early-stage computer vision projects*\n\n</div>\n\n<div align=\"center\">\n \n[](https://www.gnu.org/licenses/lgpl-3.0.en.html)\n[](https://pypi.org/project/multiwebcam/)\n[](https://github.com/mprib/multiwebcam/commits)\n\n\n</div>\n\n\n# Introduction\n\nI needed a way to record synchronized video while prototyping a computer vision project ([pyxy3D](https://github.com/mprib/pyxy3d)). Extreme temporal and spatial precision were less important than getting something reasonable with a minimal budget. When conscientiously managed, USB webcams controlled via OpenCV can perform surprisingly well at this task. I have spun this functionality off into its own package to create a clear seperation of concerns between data capture and data processing, while hopefully creating a simpler package that others might find useful. \n\nIf MultiWebCam (MWC) is close to what you need but not quite, please feel free to raise an issue and I'll see if I can incorporate your use case. These are the core functions that are currently implemented:\n\n- Record synchronized frames from multiple webcams\n- Record from single webcams to pull single camera calibration video.\n- synchronize in real time to understand dropped frame rate\n- include frame-by-frame time stamp history to facilitate off-line processing\n- easy adjustment of the following parameters:\n - resolution\n - exposure\n - target fps\n \n\n\n# Quick Start\n## Basic `pip` install\n\nYou can install MWC into your python environment with `pip install multiwebcam` and then launch it from the command line with\n\n```bash\nmwc\n```\n\nNote that this has primarily been tested on Windows 10, infrequently on MacOS, and will not work on Linux as far as I can tell \u2639\ufe0f. If someone is familiar with getting USB cameras working through OpenCV on Linux, I'm all ears.\n\n\n\n## Editable Install Using Poetry\n\nIf you prefer to contribute to MWC or want to install it in editable mode, follow these steps using Poetry:\n\nClone the Repository:\n\n```bash\ngit clone https://github.com/mprib/multiwebcam.git\ncd multiwebcam\n```\n\nInstall Poetry:\n```\npip install poetry\n```\n\nSet Up the Environment:\n\n```bash\npoetry install\n```\n\nBy running poetry install, you'll install all dependencies and also set up the multiwebcam package in editable mode. Any changes you make to the code will be reflected in your environment.\n\n# Capturing Data\n\nLaunch MultiWebCam from the command line:\n\n```\nmwc\n```\n\nOnce you've launched MultiWebCam, choose a new project directory through the File menu. Make sure that the USB cameras you want to use are currently plugged in when you launch the new session.\n\nMWC will attempt to connect to the cameras currently and will create a `recording_config.toml` file in the project directory. \n\nFrom the `Mode` menu you can select single camera to change camera settings (such as resolution and exposure). On the MultCamera mode you can set the target fps to achieve a desired dropped frame rate and record batches of videos.\n",
"bugtrack_url": null,
"license": "LGPLv3",
"summary": "Record synchronized webcam footage",
"version": "0.1.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "17fca2e4d34004c7894b5b6f87ca2f805dc40959f76708da97aadc573bd21688",
"md5": "87fea465f67d7105025a050b4508b132",
"sha256": "741bd56a1497cbc53dcd65a301f5de16d225ad7c7a9936093caa97d48f3b1f4f"
},
"downloads": -1,
"filename": "multiwebcam-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87fea465f67d7105025a050b4508b132",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<3.13",
"size": 987165,
"upload_time": "2024-01-07T16:28:57",
"upload_time_iso_8601": "2024-01-07T16:28:57.364122Z",
"url": "https://files.pythonhosted.org/packages/17/fc/a2e4d34004c7894b5b6f87ca2f805dc40959f76708da97aadc573bd21688/multiwebcam-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea1e9ac6d47b714fd7a25752246326dd95d5899fefb493557a226f3bb549a85b",
"md5": "0929a3d25aa79409f7fcbe4929f60d96",
"sha256": "d0ab2dfdf9587bec7d6d6f23ba0b3febe4fb81ca68b2cbea8debfddc2ff4b119"
},
"downloads": -1,
"filename": "multiwebcam-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0929a3d25aa79409f7fcbe4929f60d96",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<3.13",
"size": 1016467,
"upload_time": "2024-01-07T16:28:59",
"upload_time_iso_8601": "2024-01-07T16:28:59.937044Z",
"url": "https://files.pythonhosted.org/packages/ea/1e/9ac6d47b714fd7a25752246326dd95d5899fefb493557a226f3bb549a85b/multiwebcam-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-07 16:28:59",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "multiwebcam"
}