Package: ocrvid
ocrvidCLI 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.InstallationInstall this tool usingpip:pip install ocrvidUsageUsage: ocrvid [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  detect  Run OCR on a single picture, and print the results as json
  langs   Show supported recognition languages
  props   Show properties of video file
  run     Run OCR on a video, and save result as a json fileRun OCR on a videoUseocr runsub command to run ocr on a video file:Usage: ocrvid run [OPTIONS] INPUT_VIDEO

  Run OCR on a video, and save result as a json file

Options:
  -o, --output FILE            Path to output json file. By default, if you run
                               `ocrvid run some/video.mp4` then the output file
                               will be `./video.json`
  -fd, --frames-dir DIRECTORY  If passed, then save video frames to this
                               directory. By default, frames are not saved.
  -fs, --frame-step INTEGER    Number of frames to skip between each frame to be
                               processed. By default, 100 which means every 100
                               frames, 1 frame will be processed.
  -bs, --by-second FLOAT       If passed, then process 1 frame every N seconds.
                               This option relies on fps metadata of the video.
  -l, --langs TEXT             Prefered languages to detect, ordered by
                               priority. See avalable languages run by `ocrvid
                               langs`. If not passed, language is auto detected.
  --help                       Show this message and exit.For example, run against the test video file attests/video/pexels-eva-elijas.mp4in this repo:ocrvid run tests/video/pexels-eva-elijas.mp4Thenpexels-eva-elija.jsonis generated in the current directory which looks like this:{"video_file":"tests/video/pexels-eva-elijas.mp4","frames":[{"frame_index":0,"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]}]},...Show supported languagesYou can runocrvid langsto show supported languages to detect.
Results may change depending on running macos version.On macOS version:platform.mac_ver()[0]='14.2.1'Result ofocrvid langs:en-US
fr-FR
it-IT
de-DE
es-ES
pt-BR
zh-Hans
zh-Hant
yue-Hans
yue-Hant
ko-KR
ja-JP
ru-RU
uk-UA
th-TH
vi-VTHow can I run OCR on YouTube videos?Take a look atyt-dlp.DevelopmentTo contribute to this tool, first checkout the code. Then create a new virtual environment:cd ocrvid
python -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:make test