#python #python_3x #opencv #video #ffmpeg
Я занимаюсь обработкой видео и столкнулся с проблемой конвертации формата avi в mkv. Для решения этой проблемы использовал библиотеку opencv, но не один кодек не смог записать видео в mkv формате. fourcc = cv2.VideoWriter_fourcc(*'DIB ') out = cv2.VideoWriter('output.mkv', fourcc, 20.0, (frames[0].shape[1], frames[0].shape[0])) for frame in frames: out.write(frame) out.release() Один из вариантов записи в mkv После этого я нашел библиотеку ffmpy она может конвертировать из любого формата в любой. Я решил, что результат своей обработки я буду сохранять в avi формат, а потом конвертировать в mkv при помощи такого кода def convertVideo(): ff = ffmpy.FFmpeg( inputs={'output.avi': None}, outputs={'output.mkv': None} ) ff.run() Данный фрагмент действительно конвертирует avi в mkv, но если avi файл создан при помощи opencv, то конвертация не проходит. Как записать файл в mkv формат на виндоус при помощи opencv и python? Как при помощи ffmpy конвертировать файл полученный opencv в формате avi в формат mkv?
Ответы
Ответ 1
Решение было очень просто нужно было использовать кодек MJPG типа. fourcc = cv2.VideoWriter_fourcc(*'MJPG') out = cv2.VideoWriter('output.mkv', fourcc, 20.0, (frames[0].shape[1], frames[0].shape[0])) for frame in frames: out.write(frame) out.release() Данный код позволяет записывать файлы в mkv формате.
Комментариев нет:
Отправить комментарий