Разбивка видео на кадры с помощью python

Я пытаюсь написать программу, которая удаляет кадры видео, в которых нет определенного символа. Мой общий план:

  1. Разделить звук с видео
  2. Разбить видео на кадры
  3. Пропустите кадры через подпрограмму, которая ищет символ, проверяя пиксели, где они должны быть, на предмет того, что они имеют правильный цвет, и регистрируя те, которые не соответствуют.
  4. Удалить эти кадры и соответствующие звуковые секунды
  5. Соединяем все обратно.

Мне нужна помощь в поиске библиотек, которые могут это сделать. Мне было интересно, может ли wxpython определить цвет пикселя. Я понятия не имею, какая библиотека может разделять аудио и видео, а какая может редактировать аудио. Я знаю, что ffmpeg может разбить видео на кадры, но после двух дней работы я так и не смог установить его для python 2.7, поэтому мне нужен либо способ его установки, либо другая библиотека для этого. Любые идеи?


person WhatWouldKantDo    schedule 30.07.2012    source источник
comment
Я бы использовал системный вызов ffmpeg для большинства шагов, кроме #3. Для этого я бы использовал комбинацию библиотек PIL и scipy.ndimage.   -  person Hooked    schedule 31.07.2012
comment
Вы знаете о проекте OpenCV? Насколько я понимаю, он способен на гораздо большее, чем просто проверка цвета пикселя (что может быть слишком упрощенным подходом) - opencv.willowgarage.com/documentation/python/index.html   -  person Sergey    schedule 31.07.2012
comment
Фактически, в OpenCV есть методы для покадрового чтения видеофайлов, обработки этих кадров и записи их обратно в другой видеофайл: " rel="nofollow noreferrer">opencv.willowgarage.com/documentation/python/ - хотя я ничего не нашел об аудио   -  person Sergey    schedule 31.07.2012


Ответы (1)


wxPython в основном предназначен для разработки графического интерфейса для настольных компьютеров. Я бы посмотрел на pyAudio аудио бит или, возможно, один из следующих:

Возможно, вы сможете использовать одну из оболочек Mplayer для видео:

Или посмотрите тот проект OpenCV, о котором упомянул Сергей:

person Mike Driscoll    schedule 30.07.2012