Skip to main content

CLI tool for OCR-ing video frames on macOS

Project description

ocrvid

PyPI Changelog Tests License

CLI tool to extract text from videos using OCR on macOS.

[!NOTE] Currently, this tool only tested and works on macOS 13 or later.

[!CAUTION] This tool is still in early development stage. Current v0.x releases are not stable and may have breaking changes.

Installation

Install this tool using pip:

pip install ocrvid

Usage

Run OCR on a video

To extract text from a video, run:

ocrvid run path/to/video.mp4

then ocrvid generates frames from the video and runs OCR on each frame. Optionaly, frames can be saved in a directory passed --frames_dir / -fd.

OCR results are saved in a json file named video.json in the current directory. (where video is taken from input file name video)

for example, run against the test video file at tests/video/pexels-eva-elijas.mp4 in this repo:

ocrvid run tests/video/pexels-eva-elijas.mp4

Then pexels-eva-elija.json is generated in the current directory which looks like this:

{
    "video_file":"tests/video/pexels-eva-elijas.mp4",
    "frames_dir":"xxx/.ocrvid/frames/pexels-eva-elijas",
    "frame_step":100,
    "frames":[
        {
            "frame_file":"xxx/.ocrvid/frames/pexels-eva-elijas/frame-0.png",
            "results":[
                {
                    "text":"INSPIRING WORDS",
                    "confidence":1.0,
                    "bbox":[
                        0.17844826551211515,
                        0.7961793736859821,
                        0.3419540405273438,
                        0.10085802570754931
                    ]
                },
                {
                    "text":"\"Foar kills more dre",
                    "confidence":1.0,
                    "bbox":[
                        0.0724226723609706,
                        0.6839455987759758,
                        0.4780927975972494,
                        0.14592710683043575
                    ]
                },
                {
                    "text":"than failure ever",
                    "confidence":1.0,
                    "bbox":[
                        0.018455287246445035,
                        0.6549868414269003,
                        0.45329265594482426,
                        0.14363905857426462
                    ]
                },
                {
                    "text":"IZY KASSEM",
                    "confidence":0.5,
                    "bbox":[
                        -0.015967150208537523,
                        0.6675747977206025,
                        0.23065692583719888,
                        0.08114868486431293
                    ]
                },
                {
                    "text":"Entrepreneur",
                    "confidence":1.0,
                    "bbox":[
                        0.01941176222542875,
                        0.1353812367971159,
                        0.9058370590209961,
                        0.26137274083956863
                    ]
                }
            ]
        },
...

Interact with YouTube

Interacting YouTube? Please see yt-dlp.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd ocrvid
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test,dev]'

To run the tests:

make test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ocrvid-0.5.0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

ocrvid-0.5.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file ocrvid-0.5.0.tar.gz.

File metadata

  • Download URL: ocrvid-0.5.0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for ocrvid-0.5.0.tar.gz
Algorithm Hash digest
SHA256 754461857af0ecb4cb3a5389522b3ba73a7efef8cc818831aee72bcb2a264a17
MD5 df6abd47fff8c4075ab311a7f21fdb01
BLAKE2b-256 e5ed0fee32389a81fb0e4b6e5b60a6848d6a2a32d6df81ce592e271a96bcf7c5

See more details on using hashes here.

File details

Details for the file ocrvid-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: ocrvid-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for ocrvid-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a2e584399fccc4eddb17be48e7228dfd543943d5392d03b941da51dec71c6cb
MD5 aabfbeb7ade6a5a0b4f5af4aa34b70b3
BLAKE2b-256 140209a645b8b36e7b43841f95b38986c2c251dca9532b5eaf5eed0b2a42b12e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page