Video Frameserver for Numpy
===========================
Vidsrc is a Python library to read frames from video files as numpy arrays
via the DirectShow IMediaDet interface.
:Author: `Christoph Gohlke <https://www.cgohlke.com>`_
:License: BSD 3-Clause
:Version: 2024.1.6
Quickstart
----------
Install the vidsrc package and all dependencies from the
`Python Package Index <https://pypi.org/project/vidsrc/>`_::
python -m pip install -U vidsrc
See `Examples`_ for using the programming interface.
Source code and support are available on
`GitHub <https://github.com/cgohlke/vidsrc>`_.
Requirements
------------
This revision was tested with the following requirements and
dependencies (other versions may work):
- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.7, 3.12.1
- `Numpy <https://pypi.org/project/numpy/>`_ 1.26.3
- Microsoft Visual Studio 2022 (build)
- DirectX 9.0c SDK (build)
- DirectShow BaseClasses include files (build)
- DirectShow STRMBASE.lib (build)
Revisions
---------
2024.1.6
- Support Python 3.12.
- Remove support for Python 3.8 and numpy 1.22 (NEP 29).
2022.9.28
- Update metadata.
2021.6.6
- Remove support for Python 3.6 (NEP 29).
- Fix compile error on PyPy3.
2020.1.1
- Remove support for Python 2.7 and 3.5.
Notes
-----
The DirectShow IMediaDet interface is deprecated and may be removed from
future releases of Windows
(https://docs.microsoft.com/en-us/windows/desktop/directshow/imediadet).
To fix compile
``error C2146: syntax error: missing ';' before identifier 'PVOID64'``,
change ``typedef void * POINTER_64 PVOID64;``
to ``typedef void * __ptr64 PVOID64;``
in ``winnt.h``.
Examples
--------
>>> from vidsrc import VideoSource
>>> video = VideoSource('test.avi', grayscale=False)
>>> len(video) # number of frames in video
48
>>> video.duration # length in s
1.6016
>>> video.framerate # frames per second
29.970089850329373
>>> video.shape # frames, height, width, color channels
(48, 64, 64, 3)
>>> frame = video[0] # access first frame
>>> frame = video[-1] # access last frame
>>> for frame in video:
... pass # do_something_with(frame)
Raw data
{
"_id": null,
"home_page": "https://www.cgohlke.com",
"name": "vidsrc",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "",
"author": "Christoph Gohlke",
"author_email": "cgohlke@cgohlke.com",
"download_url": "https://files.pythonhosted.org/packages/a0/f7/e529b552aa4c5cce8f5bfa6c5875615077188e55976f9292c09d3d89a480/vidsrc-2024.1.6.tar.gz",
"platform": "Windows",
"description": "Video Frameserver for Numpy\r\n===========================\r\n\r\nVidsrc is a Python library to read frames from video files as numpy arrays\r\nvia the DirectShow IMediaDet interface.\r\n\r\n:Author: `Christoph Gohlke <https://www.cgohlke.com>`_\r\n:License: BSD 3-Clause\r\n:Version: 2024.1.6\r\n\r\nQuickstart\r\n----------\r\n\r\nInstall the vidsrc package and all dependencies from the\r\n`Python Package Index <https://pypi.org/project/vidsrc/>`_::\r\n\r\n python -m pip install -U vidsrc\r\n\r\nSee `Examples`_ for using the programming interface.\r\n\r\nSource code and support are available on\r\n`GitHub <https://github.com/cgohlke/vidsrc>`_.\r\n\r\nRequirements\r\n------------\r\n\r\nThis revision was tested with the following requirements and \r\ndependencies (other versions may work):\r\n\r\n- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.7, 3.12.1\r\n- `Numpy <https://pypi.org/project/numpy/>`_ 1.26.3\r\n- Microsoft Visual Studio 2022 (build)\r\n- DirectX 9.0c SDK (build)\r\n- DirectShow BaseClasses include files (build)\r\n- DirectShow STRMBASE.lib (build)\r\n\r\nRevisions\r\n---------\r\n\r\n2024.1.6\r\n\r\n- Support Python 3.12.\r\n- Remove support for Python 3.8 and numpy 1.22 (NEP 29).\r\n\r\n2022.9.28\r\n\r\n- Update metadata.\r\n\r\n2021.6.6\r\n\r\n- Remove support for Python 3.6 (NEP 29).\r\n- Fix compile error on PyPy3.\r\n\r\n2020.1.1\r\n\r\n- Remove support for Python 2.7 and 3.5.\r\n\r\nNotes\r\n-----\r\n\r\nThe DirectShow IMediaDet interface is deprecated and may be removed from\r\nfuture releases of Windows\r\n(https://docs.microsoft.com/en-us/windows/desktop/directshow/imediadet).\r\n\r\nTo fix compile\r\n``error C2146: syntax error: missing ';' before identifier 'PVOID64'``,\r\nchange ``typedef void * POINTER_64 PVOID64;``\r\nto ``typedef void * __ptr64 PVOID64;``\r\nin ``winnt.h``.\r\n\r\nExamples\r\n--------\r\n\r\n>>> from vidsrc import VideoSource\r\n>>> video = VideoSource('test.avi', grayscale=False)\r\n>>> len(video) # number of frames in video\r\n48\r\n>>> video.duration # length in s\r\n1.6016\r\n>>> video.framerate # frames per second\r\n29.970089850329373\r\n>>> video.shape # frames, height, width, color channels\r\n(48, 64, 64, 3)\r\n>>> frame = video[0] # access first frame\r\n>>> frame = video[-1] # access last frame\r\n>>> for frame in video:\r\n... pass # do_something_with(frame)\r\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Video Frameserver for Numpy",
"version": "2024.1.6",
"project_urls": {
"Bug Tracker": "https://github.com/cgohlke/vidsrc/issues",
"Homepage": "https://www.cgohlke.com",
"Source Code": "https://github.com/cgohlke/vidsrc"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "35405884f83354b9358e5422faa3e4dcb4fe44e4a3b63918ebb35661aba494a7",
"md5": "bb0b711eec70ee905efd0fa7265c1e6f",
"sha256": "3dbb810454e5ef183dad7396b6cd44408af41ccbcbb86c4d1339393543caccc2"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "bb0b711eec70ee905efd0fa7265c1e6f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 13747,
"upload_time": "2024-01-08T04:55:56",
"upload_time_iso_8601": "2024-01-08T04:55:56.160010Z",
"url": "https://files.pythonhosted.org/packages/35/40/5884f83354b9358e5422faa3e4dcb4fe44e4a3b63918ebb35661aba494a7/vidsrc-2024.1.6-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "80ae7a5e0a3c2a53808b7c291bad3963872d53bde7925939746464f53e8a253a",
"md5": "7f5f259432d9d4040cace4556c9422e0",
"sha256": "16d3475c42f0bb6af17476ba54b8f39f7b56955e6b248f8d906968c789617e20"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7f5f259432d9d4040cace4556c9422e0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 14636,
"upload_time": "2024-01-08T04:55:57",
"upload_time_iso_8601": "2024-01-08T04:55:57.733346Z",
"url": "https://files.pythonhosted.org/packages/80/ae/7a5e0a3c2a53808b7c291bad3963872d53bde7925939746464f53e8a253a/vidsrc-2024.1.6-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b82360ae118a925241f6ea770783a3ad9a1e08c4ba1e6a9c71dc56a0285d4f7f",
"md5": "cfb3a6be71d9dae7e200bbd8fffa4e7e",
"sha256": "6e73f6e34a7b9fecb427629b05d7b53fb6b3a0ed90a8d1b111bda67391e8db84"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "cfb3a6be71d9dae7e200bbd8fffa4e7e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 13744,
"upload_time": "2024-01-08T04:55:59",
"upload_time_iso_8601": "2024-01-08T04:55:59.179736Z",
"url": "https://files.pythonhosted.org/packages/b8/23/60ae118a925241f6ea770783a3ad9a1e08c4ba1e6a9c71dc56a0285d4f7f/vidsrc-2024.1.6-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bdc0821ba3b057a50612a2abcb41f5ef5ab0b0e8e7c6beefaa0f5bdbcdb3574c",
"md5": "91a1348092b133acfa11efe2ec2de9f5",
"sha256": "7e3579b33d472b5dc7895ddbce27d5715feaba90983aef30b9f4289cd3b395a1"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "91a1348092b133acfa11efe2ec2de9f5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 14638,
"upload_time": "2024-01-08T04:56:00",
"upload_time_iso_8601": "2024-01-08T04:56:00.071048Z",
"url": "https://files.pythonhosted.org/packages/bd/c0/821ba3b057a50612a2abcb41f5ef5ab0b0e8e7c6beefaa0f5bdbcdb3574c/vidsrc-2024.1.6-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf10d044947e82163cb81103f9323a0ab6c35fa810c69b1d104cb1aa588f7662",
"md5": "72bc7499adc97fd71e5b7e2418fc7ecc",
"sha256": "fc4a8839ab8ead2fd6175b7429556c2274a14c1f814dbb6965e0c8a56d47ca0e"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp311-cp311-win_arm64.whl",
"has_sig": false,
"md5_digest": "72bc7499adc97fd71e5b7e2418fc7ecc",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 13406,
"upload_time": "2024-01-08T04:56:01",
"upload_time_iso_8601": "2024-01-08T04:56:01.064672Z",
"url": "https://files.pythonhosted.org/packages/cf/10/d044947e82163cb81103f9323a0ab6c35fa810c69b1d104cb1aa588f7662/vidsrc-2024.1.6-cp311-cp311-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec34d99479ad31e5ceda925e40313df511707e25218a4838242f17aa05ca0dd6",
"md5": "b751229aef925b9cc932e9140d91ef69",
"sha256": "7071f8e82fdcdb5ed20e9db0fd7dae73e19a3f85cb7b9859c53b82965ed7c4d1"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "b751229aef925b9cc932e9140d91ef69",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 13782,
"upload_time": "2024-01-08T04:56:02",
"upload_time_iso_8601": "2024-01-08T04:56:02.025545Z",
"url": "https://files.pythonhosted.org/packages/ec/34/d99479ad31e5ceda925e40313df511707e25218a4838242f17aa05ca0dd6/vidsrc-2024.1.6-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "532eec297a8ab7ce95090ad31f213a49667bb9f6cc6c6b8b3f57cf54cbed06be",
"md5": "031ab0bc3808352a67f6905f7f3290b4",
"sha256": "60ed30a147ac2c93e20f18ee4b17d6f5b166134c96cd07817432910dece33b8e"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "031ab0bc3808352a67f6905f7f3290b4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 14643,
"upload_time": "2024-01-08T04:56:03",
"upload_time_iso_8601": "2024-01-08T04:56:03.488020Z",
"url": "https://files.pythonhosted.org/packages/53/2e/ec297a8ab7ce95090ad31f213a49667bb9f6cc6c6b8b3f57cf54cbed06be/vidsrc-2024.1.6-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "02380be9b57bfb7e8101eb28a17898048141ea137f420b97e74449124966c6b8",
"md5": "b293fbfff7781b55a31993b5c7f80e6e",
"sha256": "153ddfbd5ffd55250ba174e6373ed7630cd2b5d8a20abd0f700f6d6fa0285d6e"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp312-cp312-win_arm64.whl",
"has_sig": false,
"md5_digest": "b293fbfff7781b55a31993b5c7f80e6e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 13404,
"upload_time": "2024-01-08T04:56:04",
"upload_time_iso_8601": "2024-01-08T04:56:04.997208Z",
"url": "https://files.pythonhosted.org/packages/02/38/0be9b57bfb7e8101eb28a17898048141ea137f420b97e74449124966c6b8/vidsrc-2024.1.6-cp312-cp312-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f63c3e2190a9343a85444409860c3a3f73bb7a7a579f235d138d699a3e90dac0",
"md5": "d6cf565c13b0fd75d2443c86608b3ff5",
"sha256": "d3b07d243b7fd33e4b05fae833038aec29e085eb7af15d0c754bcb825b13a842"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "d6cf565c13b0fd75d2443c86608b3ff5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 13740,
"upload_time": "2024-01-08T04:56:07",
"upload_time_iso_8601": "2024-01-08T04:56:07.588398Z",
"url": "https://files.pythonhosted.org/packages/f6/3c/3e2190a9343a85444409860c3a3f73bb7a7a579f235d138d699a3e90dac0/vidsrc-2024.1.6-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c40490086ece195027d27ac425259fbebc1fc11af81c979db59593c84c033428",
"md5": "8729b6a4e3c078843618dbf6dee51834",
"sha256": "d5eb626859d89c3f4d8420d2377e20cfd4497c88733ce86810907965d036a6c9"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "8729b6a4e3c078843618dbf6dee51834",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 14634,
"upload_time": "2024-01-08T04:56:08",
"upload_time_iso_8601": "2024-01-08T04:56:08.547809Z",
"url": "https://files.pythonhosted.org/packages/c4/04/90086ece195027d27ac425259fbebc1fc11af81c979db59593c84c033428/vidsrc-2024.1.6-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8ddee2e0d2c905a699f00000bb5963e2873d458ef02aec36e5003a3146b4430",
"md5": "77dfd08d7bca7799733c1efb2d9faa21",
"sha256": "be064111eede14040789608a216c360bbaa5406c16ada86616b39631e1c6acc9"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "77dfd08d7bca7799733c1efb2d9faa21",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 14681,
"upload_time": "2024-01-08T04:56:09",
"upload_time_iso_8601": "2024-01-08T04:56:09.436379Z",
"url": "https://files.pythonhosted.org/packages/b8/dd/ee2e0d2c905a699f00000bb5963e2873d458ef02aec36e5003a3146b4430/vidsrc-2024.1.6-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0f7e529b552aa4c5cce8f5bfa6c5875615077188e55976f9292c09d3d89a480",
"md5": "7a0ac9829c8ec0ac04ea3fc563cc9060",
"sha256": "3a6c24a42e134437dbb8e9491ecda85f740c3be1253960c338a36f27910c6066"
},
"downloads": -1,
"filename": "vidsrc-2024.1.6.tar.gz",
"has_sig": false,
"md5_digest": "7a0ac9829c8ec0ac04ea3fc563cc9060",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 147825,
"upload_time": "2024-01-08T04:56:11",
"upload_time_iso_8601": "2024-01-08T04:56:11.077308Z",
"url": "https://files.pythonhosted.org/packages/a0/f7/e529b552aa4c5cce8f5bfa6c5875615077188e55976f9292c09d3d89a480/vidsrc-2024.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-08 04:56:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cgohlke",
"github_project": "vidsrc",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "vidsrc"
}