Estrutura de vídeo python
Pergunta
Estou procurando uma estrutura Python que me permitirá reproduzir vídeo e desenhar esse vídeo (para fins de rotulagem).
Eu tentei pigleto, mas isso não parece funcionar particularmente bem - ao desenhar em um vídeo existente, há pisca (mesmo com buffer duplo e tudo isso), e não parece haver uma maneira Para obter o índice de quadros no vídeo durante o retorno de chamada por quadro (apenas o tempo decorrido desde o último quadro).
Solução
Experimente um invólucro python para OpenCV, como Ctypes-Opencv. A referência da API C é aqui, e o invólucro está muito próximo (consulte DocStrings para quaisquer alterações).
Eu o usei para desenhar em vídeo sem piscar, então você não deve ter problemas com isso.
Um esboço aproximado das chamadas que você precisa:
- Carregue vídeo com CVCreateFilecApture, carregue a fonte com CVFont.
- Pegue o quadro com cvQueryFrame, incremente o seu contador de quadros.
- Desenhe o quadro com CVputText, cvellipse, etc.
- Exiba para usuário com CVshowImage.
Outras dicas
O QT (PYQT) possui um phonon, o que pode ajudar. O PYQT está disponível como GPL ou Payware. (QT também tem LGPL, mas os invólucros pyqt não têm)
Tente o Python Bindings para GStreamer.