Кто-нибудь получил доступ к H264-потоку IP-камеры через SimpleCV?

Интересно, возможно ли получить доступ к основному потоку в кодировке H264 моей IP-камеры Hikvision DS-2CD2032-I через SimpleCV.

Поток H264, который я получил в браузере,

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

SimpleCV - это оболочка Python для OpenCV (пакет компьютерного зрения).

1 ответ

Решение

SimpleCV имеет Image класс, который вы можете использовать для обработки файлов изображений (вместо того, чтобы указывать ему захватывать изображение с аппаратного обеспечения), поэтому вашей реальной проблемой является извлечение изображения из текущего потока.

Есть несколько способов сделать это, но я бы, вероятно, оставил это вне диапазона (в Ubuntu, а не в Python) и просто постоянно постоянно обновлял один и тот же файл изображения (и выполнял цикл в Python/SimpleCV).

Сначала вам нужен адрес потоковой передачи. Здесь есть список Hikvision, но он будет выглядеть примерно так: rtsp://IPADDRESS:554/h264

Затем мы можем запустить avconv (от libav-tools пакет или ffmpeg от любого авторитетного PPA, который вы можете найти) для захвата и продолжения захвата раз в секунду ( на основании этого):

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

Это тянет нас назад к SimpleCV. Чтобы значительно упростить их пример:

import time
from SimpleCV import *

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

В качестве альтернативы спецификации камеры утверждают, что она обеспечивает FTP-доступ (среди прочего). Все, что даст вам файл изображения, является жизнеспособным вариантом здесь.

Другие вопросы по тегам