apm1467 / videocr

Extract hardcoded subtitles from videos using machine learning
MIT License
506 stars 117 forks source link

Support for python-Levenshtein 0.13.1 #8

Closed RaXorX closed 4 years ago

RaXorX commented 4 years ago

After hours of fiddling and having to install numerous packages manually, this package is the one that manages to not install. python-Levenshtein The version that it downloads is the 0.12 while there's already a newer version 0.13.1

The old module is way back from 2014. While installing videocr it checks for several packages, downloads them all but throws an error at that above package.

https://pastebin.com/ksSVw1Wa

I already downloaded the other packages and they all pass the requirement except for that one. I also tried installing vs_buildtools (although left the MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.23) and Windows 10 SDK (10.0.18362.0) packages due to storage limitations.)

I'm running Windows 10 x64 version. This whole module obstructs the ability to install videocr and eventually use it.

RaXorX commented 4 years ago

I solved it after removing the requirement for python-Levenshtein from setup.py but don't have any idea if it affects the usability of this tool or not.

Now I'm getting another error in python. videocr.get_subtitles(video_path: "D:\Extras\Experiment\video.mp4", lang='chi_tra', time_start='0:00', time_end='', conf_threshold=65, sim_threshold=90, use_fullframe=False) ^ SyntaxError: invalid syntax

What I'm getting it for is the : after video_path or at least that's what the ^ points to in my cmd.

Edit: It was my mistake since I'm new to this. Found what the issue was and how to syntax it properly. But after everything now that it's running, this is my new issue, I'll open a new thread for it.

apm1467 commented 4 years ago

python-Levenshtein is a C extension. You will need a C compiler to install it. Installing C compiler on Windows is painful so I can understand your struggle.

The fuzzywuzzy package uses python-Levenshtein to speedup its string matching process. As written in their doc, it is optional.

For your second problem, a function argument is wrong.

Please replace video_path: "D:\Extras\Experiment\video.mp4" with video_path="D:\Extras\Experiment\video.mp4".

RaXorX commented 4 years ago

Ahh, makes sense. you might want to remove it's requirement then perhaps. Too bad that it can't be used without a good compiler. I could only get it to work with visual studio, not sure and didn't waste too much time to make it work with gcc. There might be a way but already wasted too much time into it, saw an issue opened for gcc already.

RaXorX commented 3 years ago

@apm1467 Hey there, just came back to this one and I recently found this out. https://pypi.org/project/pylev/#description Perhaps it could be an improvement over the previous one. EDIT: And I also found this https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein Man, so much easier to use that instead. Adn then there's this too. https://pypi.org/project/python-Levenshtein-wheels/#files