antiboredom / videogrep

automatic video supercuts with python
https://antiboredom.github.io/videogrep
Other
3.33k stars 257 forks source link

Errors #95

Closed DuncanRobson closed 2 years ago

DuncanRobson commented 2 years ago

Thanks for making this! I'm excited to finally play with it. Unfortunately I'm getting these errors (Win10):

Traceback (most recent call last): File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\Scripts\videogrep.exe__main__.py", line 7, in File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\site-packages\videogrep\cli.py", line 136, in main videogrep( File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\site-packages\videogrep\videogrep.py", line 347, in videogrep segments = search(files, query, search_type) File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\site-packages\videogrep\videogrep.py", line 127, in search transcript = parse_transcript(file, prefer=prefer) File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\site-packages\videogrep\videogrep.py", line 68, in parse_transcript transcript = vtt.parse(infile) File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\site-packages\videogrep\vtt.py", line 105, in parse _vtt = vtt.read() File "C:\Users\DUNCAN\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 22602: character maps to

antiboredom commented 2 years ago

I'll look into it! Can you send the vtt file that you're using?

DuncanRobson commented 2 years ago

I'm using it on multiple files and I just realized some of the downloaded subtitles were not in English. The English ones work fine.

Another problem is that it won't find files when I give it a wildcard. I'm getting around this by giving it a list of all the files.

antiboredom commented 2 years ago

I see - I'd still like to fix that... As far as multiple files go I wonder if the "*" pattern doesn't work on windows? In any case, it would still be helpful if you could send the failing vtt file.

DuncanRobson commented 2 years ago

I lost that file. I'll see if I can find another that gives the same error. It seems that if a YouTube video already has subtitles you can't auto-generate them.

5shekel commented 2 years ago

i assume this happens when trying to search chars outside of the assigned charmap here.txt is a Hebrew one that fails similarly.

thanks for the tool!

antiboredom commented 2 years ago

hi @5shekel and @DuncanRobson: can you you reinstall videogrep from the git repo and let me know if things are working now?

pip3 install git+https://github.com/antiboredom/videogrep
5shekel commented 2 years ago

yep, works!

videogrep.exe --input .\NER.webm --search "נר"
[+] Creating clips.
[+] Concatenating clips.
[+] Writing ouput file.
Moviepy - Building video supercut.mp4.
MoviePy - Writing audio in temp-audio1653721402.7394955.m4a
MoviePy - Done.
Moviepy - Writing video supercut.mp4
DuncanRobson commented 2 years ago

Works for me too!