Проблема с кодировкой в ffmpeg
Пытаюсь вылавливать ошибки при преобразовании файла в ffmpeg. Но возникают проблемы с кодировкой в коде:
try:
cmd = "ffmpeg -i /test.mp4 -c:v libaom-av1 -pix_fmt yuv420p /output.mkv"
process = sub.Popen(cmd, shell=True, stdout=sub.PIPE, stderr=sub.STDOUT, text=True, encoding='latin-1')
while True:
gg = process.stdout.readline().rstrip('\n')
print(gg) #Выводим в консоль
#Проверяем, если процесс завершился, тормозим цикл
retcode = process.poll()
if retcode is not None:
break
# Получаем код возврата
retcode = process.wait() # ждем завершения процесса
if retcode != 0:
raise sub.CalledProcessError(retcode, cmd)
except sub.CalledProcessError as e:
print(f"Ошибка выполнения команды: {e.cmd}")
print(f"Код возврата: {e.returncode}")
except Exception as e:
print(f"Произошла ошибка: {str(e)}")
Произошла ошибка: 'utf-8' codec can't decode byte 0xd0 in position 3973: invalid continuation byte
Ок, ставлю encoding='latin-1'
. Ошибки нет, но теперь в консоли русские буквы выглядят как иероглифы.
Ряд вопросов:
- Как поправить кодировку, метаданные видео в ероглифах в консоли
�а�
- Перестает выводить в консоль перед началом преобразования... Как только метаданные отобразит в консоли. Как продолжить отображать в консоль построчно до кончания