Metadata-Version: 2.4
Name: apexos-ffmpeg
Version: 3.2.2
Summary: Async wrapper library for driving the ffmpeg binary from asyncio, for ApexOS
Author-email: Advait Thakur <advait@apexinfosys.in>
License: BSD License
Project-URL: Repository, https://github.com/apexinfosysindia/ffmpeg-wrapper
Project-URL: Bug Tracker, https://github.com/apexinfosysindia/ffmpeg-wrapper/issues
Keywords: ffmpeg,asyncio,wrapper,api
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: async_timeout
Dynamic: license-file

# apexos-ffmpeg

Async ffmpeg interface for ApexOS.

This package is a maintained rebuild of a third-party ffmpeg wrapper library,
republished under the ApexOS namespace. It drives the `ffmpeg` binary from
asyncio and is used by the platform's camera and stream-sensor integrations:

- Emulate a webcam (MJPEG) from any video input source
- Analyse a video/audio stream for noise or motion detection
- Grab a single image frame from a stream
- Query the installed ffmpeg version

```python
from apexffmpeg.camera import CameraMjpeg
from apexffmpeg.sensor import SensorMotion, SensorNoise
from apexffmpeg.tools import IMAGE_JPEG, FFVersion, ImageFrame
```

Take care to protect function calls to this library with `asyncio.shield`.

An `ffmpeg` binary must be available on the system; this package does not
bundle one.

## Installation

```
pip install apexos-ffmpeg
```

## Testing

The scripts in `test/` are manual, click-driven exercisers (there is no
automated pytest suite upstream of this rebuild). Example:

```
python test/tools_version.py -f ffmpeg
python test/tools_imageframe.py -s input.mp4 -o frame.jpg
```

## License

BSD-3-Clause. See [LICENSE](LICENSE) for the full text, including the original
upstream copyright notice, which is retained as required by the license.
