# FFmpeg Source Input Library
FFmpeg Input Library is a small library aimed at receiving raw or decoded (RGB) frames from FFmpeg into a python program.
You can pass to ffmpeg required arguments and url and get the frames like opencv does. The library
provides the direct access to the ffmpeg library without the launching of the ffmpeg binary.
The frames are in raw binary format and must be processed separately.
### Install Prebuilt Wheels
```bash
pip install ffmpeg-input
```
### Build In Docker (Manylinux_2_28)
```bash
# certain python version (decreases build time)
#
docker build -t ffmpeg_input -f docker/Dockerfile.manylinux_2_28_X64 --build-arg PYTHON_INTERPRETER=/opt/python/cp38-cp38/bin/python .
# all manylinux versions
#
docker build -t ffmpeg_input -f docker/Dockerfile.manylinux_2_28_X64 .
# copy wheels from docker
#
docker run --rm -it -v $(pwd)/distfiles:/tmp ffmpeg_input cp -R /opt/dist /tmp
```
### Try It
```
RUST_LOG=debug python3 test.py
```
Raw data
{
"_id": null,
"home_page": "https://github.com/insight-platform/FFmpeg-Input",
"name": "ffmpeg-input",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "FFmpeg, Video",
"author": "Ivan Kudriavtsev <ivan.a.kudryavtsev@gmail.com>",
"author_email": "Ivan Kudriavtsev <ivan.a.kudryavtsev@gmail.com>",
"download_url": null,
"platform": null,
"description": "# FFmpeg Source Input Library\n\nFFmpeg Input Library is a small library aimed at receiving raw or decoded (RGB) frames from FFmpeg into a python program. \nYou can pass to ffmpeg required arguments and url and get the frames like opencv does. The library \nprovides the direct access to the ffmpeg library without the launching of the ffmpeg binary. \nThe frames are in raw binary format and must be processed separately.\n\n\n### Install Prebuilt Wheels\n\n```bash\npip install ffmpeg-input \n```\n\n### Build In Docker (Manylinux_2_28)\n\n```bash\n# certain python version (decreases build time)\n#\ndocker build -t ffmpeg_input -f docker/Dockerfile.manylinux_2_28_X64 --build-arg PYTHON_INTERPRETER=/opt/python/cp38-cp38/bin/python .\n# all manylinux versions\n#\ndocker build -t ffmpeg_input -f docker/Dockerfile.manylinux_2_28_X64 .\n\n# copy wheels from docker\n#\ndocker run --rm -it -v $(pwd)/distfiles:/tmp ffmpeg_input cp -R /opt/dist /tmp\n```\n\n### Try It\n\n```\nRUST_LOG=debug python3 test.py\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "FFMpeg Source Accessor Library",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/insight-platform/FFmpeg-Input",
"Source Code": "https://github.com/insight-platform/FFmpeg-Input"
},
"split_keywords": [
"ffmpeg",
" video"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b14c660fc101eb52f419fadd33662446ba1c435bdab3f27f44556b8fae7be42c",
"md5": "65d7f27b9cfaa633faf01e7590da66aa",
"sha256": "41c3f9654d5ec7bbf649e7248b916d0e1e45ec0f3244df27096fa40ea2c4cc57"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "65d7f27b9cfaa633faf01e7590da66aa",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 30551487,
"upload_time": "2024-09-18T09:08:29",
"upload_time_iso_8601": "2024-09-18T09:08:29.191424Z",
"url": "https://files.pythonhosted.org/packages/b1/4c/660fc101eb52f419fadd33662446ba1c435bdab3f27f44556b8fae7be42c/ffmpeg_input-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "03f9345cd79e97021d3e180bed1f0ff73fca9ac96aa4b61a69aba77743ad1e81",
"md5": "df0997c18b7b492069ee1e7b7cefdf6f",
"sha256": "2e8e87b0a8a594b9b348bd6455185a0b8b6fd7595f587390b84adf85441c8a79"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "df0997c18b7b492069ee1e7b7cefdf6f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 35436233,
"upload_time": "2024-09-18T09:08:32",
"upload_time_iso_8601": "2024-09-18T09:08:32.885897Z",
"url": "https://files.pythonhosted.org/packages/03/f9/345cd79e97021d3e180bed1f0ff73fca9ac96aa4b61a69aba77743ad1e81/ffmpeg_input-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c774bd992a06d747774c4388cf43ed47ec0208e90a48492c377f11865f4852d",
"md5": "5f37fe25214603c158295150bb98e387",
"sha256": "b0bf7f06ad8206591e35b458c886d9f9c776bcb3800160c9f707b1ab5b5fcef2"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "5f37fe25214603c158295150bb98e387",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 30551171,
"upload_time": "2024-09-18T09:08:36",
"upload_time_iso_8601": "2024-09-18T09:08:36.228353Z",
"url": "https://files.pythonhosted.org/packages/2c/77/4bd992a06d747774c4388cf43ed47ec0208e90a48492c377f11865f4852d/ffmpeg_input-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "965985a06fd4beb9151ba4d68a67578d30550a22c1da87eb96b4e90acdd8bbce",
"md5": "19d17a4a9ee52b9012c48c6b48805508",
"sha256": "bf3e76408149f34579b541725fceed17712fd00a221fb71a2b799d57466ea95b"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "19d17a4a9ee52b9012c48c6b48805508",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 35436229,
"upload_time": "2024-09-18T09:08:39",
"upload_time_iso_8601": "2024-09-18T09:08:39.547939Z",
"url": "https://files.pythonhosted.org/packages/96/59/85a06fd4beb9151ba4d68a67578d30550a22c1da87eb96b4e90acdd8bbce/ffmpeg_input-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e77b0691f0cc1cbcecea497aaaa5aa1b4d5d7412017bc88e342eaba121c8bb16",
"md5": "e5131efbfb85b301a945d2b2b3d3de40",
"sha256": "782e4533ac1d36fa0e6f3b92c3ca96ec9c8b83a20a335f05b4c13dd494c19963"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "e5131efbfb85b301a945d2b2b3d3de40",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 30551546,
"upload_time": "2024-09-18T09:08:42",
"upload_time_iso_8601": "2024-09-18T09:08:42.479909Z",
"url": "https://files.pythonhosted.org/packages/e7/7b/0691f0cc1cbcecea497aaaa5aa1b4d5d7412017bc88e342eaba121c8bb16/ffmpeg_input-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b08e54daf69a1234b48732e8331b968ecffe67434455104cd0e92117d40285ee",
"md5": "fddecc4d8fb00a3938e6eddde4545b00",
"sha256": "87d1083a480066343eaa5f6a593459fa1711bab8e5720a6ad1b07dd55c5a436f"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "fddecc4d8fb00a3938e6eddde4545b00",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 35436910,
"upload_time": "2024-09-18T09:08:46",
"upload_time_iso_8601": "2024-09-18T09:08:46.054175Z",
"url": "https://files.pythonhosted.org/packages/b0/8e/54daf69a1234b48732e8331b968ecffe67434455104cd0e92117d40285ee/ffmpeg_input-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "93f73f828a704112f05ab3f7f8c2d21b78472fe43ab81c2adaae2f2e6596ccb8",
"md5": "a2d65ef15cf86d6bfb58bb3962c1feb9",
"sha256": "ea13d69806491ed764f27bb26babef746d39b6663e538e24eedc7e4b7bc4af59"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "a2d65ef15cf86d6bfb58bb3962c1feb9",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 30551915,
"upload_time": "2024-09-18T09:08:49",
"upload_time_iso_8601": "2024-09-18T09:08:49.277759Z",
"url": "https://files.pythonhosted.org/packages/93/f7/3f828a704112f05ab3f7f8c2d21b78472fe43ab81c2adaae2f2e6596ccb8/ffmpeg_input-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "50df9cafdf01e798756ed0b4b02ba3c150afd6a236738ef3357f0b1d5c9b375b",
"md5": "4364e622d431676f8de60ef8bbad2d86",
"sha256": "db939b3c9b8e9d4973824da06f8361116690bf66ea39a4f21bd131de1666a299"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "4364e622d431676f8de60ef8bbad2d86",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 35437075,
"upload_time": "2024-09-18T09:08:54",
"upload_time_iso_8601": "2024-09-18T09:08:54.379277Z",
"url": "https://files.pythonhosted.org/packages/50/df/9cafdf01e798756ed0b4b02ba3c150afd6a236738ef3357f0b1d5c9b375b/ffmpeg_input-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a2c49aeda3868f0424e4db67fb282f6c9e390181560a459eb21a3c2585c94181",
"md5": "a6f4c414c4c00b11a7f7f31b9e3023c9",
"sha256": "816d446950e85caeb396a7104840e498b68065cb1ecf16f1aca29505066cb3f1"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "a6f4c414c4c00b11a7f7f31b9e3023c9",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 30551871,
"upload_time": "2024-09-18T09:08:57",
"upload_time_iso_8601": "2024-09-18T09:08:57.574696Z",
"url": "https://files.pythonhosted.org/packages/a2/c4/9aeda3868f0424e4db67fb282f6c9e390181560a459eb21a3c2585c94181/ffmpeg_input-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1c1d385e7b9167e9017f570f987265816f3dd49580423afc4ac92ad4331327d7",
"md5": "f1d81f4063c79e2b5827809f7ac53d4f",
"sha256": "5673cde56cdcb283515a2c6eafb1362cae2b326382b7a25e275a14305eb32c64"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "f1d81f4063c79e2b5827809f7ac53d4f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 35436997,
"upload_time": "2024-09-18T09:09:01",
"upload_time_iso_8601": "2024-09-18T09:09:01.504128Z",
"url": "https://files.pythonhosted.org/packages/1c/1d/385e7b9167e9017f570f987265816f3dd49580423afc4ac92ad4331327d7/ffmpeg_input-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e233b6bf109f53365d2fbf11fc3aa9d41aa4f8281598d6a88f2e6a80458048cf",
"md5": "7187ce7c4ded6db13ceafd5fd49f0fae",
"sha256": "0a5bf29e828807bea20caabb9e76fb23e54037cebf99fa3ddccde2d587c08a72"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "7187ce7c4ded6db13ceafd5fd49f0fae",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.8",
"size": 30551900,
"upload_time": "2024-09-18T09:09:04",
"upload_time_iso_8601": "2024-09-18T09:09:04.310232Z",
"url": "https://files.pythonhosted.org/packages/e2/33/b6bf109f53365d2fbf11fc3aa9d41aa4f8281598d6a88f2e6a80458048cf/ffmpeg_input-0.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "08dfb01acc42fdebc33f01156878dd7ba79d351b49142fc904f22592989b9ab0",
"md5": "423829b7f6d26b207358156c7c7998dc",
"sha256": "be72977afb07039e99733e0f10fcd826ed2a78e8ada7684bec3e910dea68492b"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "423829b7f6d26b207358156c7c7998dc",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.8",
"size": 35437321,
"upload_time": "2024-09-18T09:09:07",
"upload_time_iso_8601": "2024-09-18T09:09:07.156385Z",
"url": "https://files.pythonhosted.org/packages/08/df/b01acc42fdebc33f01156878dd7ba79d351b49142fc904f22592989b9ab0/ffmpeg_input-0.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b14e71d5f0a4bfceabd46bed70f778d1bdc501a69c82a97c94337bb572b5418e",
"md5": "67db0e40ca2d7e15efeb914c876fb802",
"sha256": "0a0d275733241b402ddeb56382350fc6a308440cfc4d0de4dff359a673862713"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "67db0e40ca2d7e15efeb914c876fb802",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.8",
"size": 30552653,
"upload_time": "2024-09-18T09:09:10",
"upload_time_iso_8601": "2024-09-18T09:09:10.509796Z",
"url": "https://files.pythonhosted.org/packages/b1/4e/71d5f0a4bfceabd46bed70f778d1bdc501a69c82a97c94337bb572b5418e/ffmpeg_input-0.2.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "56796ca66f48f8a21d2803d807b7f20cbf65e418aeb62e9c61c6a714faded5e9",
"md5": "759f888647010e8b4d87752e169be2ea",
"sha256": "9f135a9c962c0c87c72b75766051ac03d1433b90a819601f314f1ce4e1a4175a"
},
"downloads": -1,
"filename": "ffmpeg_input-0.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "759f888647010e8b4d87752e169be2ea",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.8",
"size": 35438703,
"upload_time": "2024-09-18T09:09:14",
"upload_time_iso_8601": "2024-09-18T09:09:14.142097Z",
"url": "https://files.pythonhosted.org/packages/56/79/6ca66f48f8a21d2803d807b7f20cbf65e418aeb62e9c61c6a714faded5e9/ffmpeg_input-0.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-18 09:08:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "insight-platform",
"github_project": "FFmpeg-Input",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ffmpeg-input"
}