Я впервые пробую ffmpeg-python и поражаюсь, что на удивление похоже на сложную ошибку, на раннем этапе.
Вот мой полный код в таком виде:
from tkinter import filedialog
import ffmpeg
sourceFile = filedialog.askopenfile()
targetFile = filedialog.asksaveasfilename()
stream = ffmpeg.input(sourceFile, ss=0, format='mov')
stream = ffmpeg.output(stream, targetFile, format='mp4')
ffmpeg.run(stream)
В моей голове это должно быть просто. Пользователь просматривает существующий файл MOV (стандартный файл h264, который «нормальный» FFmpeg.exe не может обработать без проблем в командной строке Windows), затем выбирает выходной файл для MP4, который будет сохранен, затем вызывается FFmpeg и MP4Файл конвертируется из MOV.
Однако, независимо от того, какой исходный файл я выбрал, я всегда получаю эту ошибку:
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\ffmpeg\_ffmpeg.py", line 85, in output
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\ffmpeg\_run.py", line 285, in run_async
args, stdin=stdin_stream, stdout=stdout_stream, stderr=stderr_stream
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\subprocess.py", line 1119, in _execute_child
args = list2cmdline(args)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\subprocess.py", line 530, in list2cmdline
needquote = (" " in arg) or ("\t" in arg) or not arg
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\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 0x90 in position 41: character maps to <undefined>
Номер позиции изменяется в зависимости от файла, но ошибкавсегда кодек 'charmap' не может декодировать байт 0x90 в позиции [x]: символ отображается на
Пожалуйста, кто-нибудь может указать мне, где я могу ошибаться в этомодин? Я чувствую, что ответ смотрит мне в лицо, но я его не вижу.