Кто-нибудь получил доступ к 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-доступ (среди прочего). Все, что даст вам файл изображения, является жизнеспособным вариантом здесь.