#python #python-3.x #image
#python #python-3.x #изображение
Вопрос:
Я хочу прочитать видеофайл, извлечь случайный кадр и сохранить как файл изображения. Для этого я попробовал приведенный ниже код.
vidcap = cv2.VideoCapture(video_path)
success, image = vidcap.read()
snapshot_path = f"{snapshot_name}.jpg"
cv2.imwrite(snapshot_path, image) # save frame as JPEG file
Приведенный выше код работает правильно, но я использовал opencv-python. Я должен использовать свое приложение в docker. Итак, я хочу уменьшить размер docker. Во всем моем приложении я использовал cv2 только для вышеупомянутой функции. Если какая-либо встроенная библиотека python или облегченная библиотека python будет заменена для вышеуказанной функциональности, это было бы большим улучшением для уменьшения размера docker.
Любым другим способом я могу попробовать это? Любой намек был бы заметен.
Ответ №1:
Если это не необработанное видео, вам все равно понадобится видеокодек для декодирования видео. Вы можете попробовать комбинацию пакетов imageio и imageio-ffmpeg. Или вы можете попробовать python-оболочку для ffmpeg, ffmpeg-python.