Alguém tem acesso a um H264-stream de uma IP-Cam sobre SimpleCV?

1

Gostaria de saber se é possível ter acesso ao mainstream codificado por H264 da minha Hikvision IP-cam DS-2CD2032 -I em SimpleCV.

O fluxo de H264 que eu entrei no navegador é

rtsp://192.168.1.199:554/ISAPI/streaming/channels/101?auth=YWRtaW46MTIzNDU=

O SimpleCV é um wrapper python para o OpenCV (um pacote de visão computacional).

    
por empedokles 02.09.2014 / 11:18

1 resposta

1

SimpleCV tem uma classe Image que você pode usar para processar arquivos de imagens (ao invés de dizer para pegar uma imagem do hardware), então seu problema real é extrair uma imagem do fluxo atual.

Existem várias maneiras de fazer isso, mas eu provavelmente manteria isso fora de banda (no Ubuntu, não no Python) e apenas atualizaria constantemente o mesmo arquivo de imagem o tempo todo (e loop em Python / SimpleCV). / p>

Primeiro, você precisa do endereço de streaming. Há uma uma lista de Hikvision aqui , mas vai parecer algo como: rtsp://IPADDRESS:554/h264

Podemos então executar avconv (do libav-tools package, ou ffmpeg de qualquer PPA respeitável que você possa encontrar) para capturar e manter a captura uma vez por segundo ( com base nisso ):

avconv -i rtsp://IPADDRESS:554/h264 -f image2 -r 1 -updatefirst 1 /path/to/img.jpg

Isso nos leva de volta ao SimpleCV. Para simplificar muito o exemplo :

import time
from SimpleCV import *

while True:
        img = Image('/path/to/img.jpg')
        img.show()
        time.sleep(1) #wait for 1 second

Como alternativa, a câmera especifica declarações que fornecem acesso FTP (entre outras coisas). Qualquer coisa que consiga um arquivo de imagem é uma opção viável aqui.

    
por Oli 02.09.2014 / 11:44