Проблема с Python и IP-камерой - PullRequest
2 голосов
/ 11 мая 2011

У меня проблемы с получением видеопотока с имеющейся у меня IP-камеры. Я использую opencv, чтобы получить изображения из него. Вот код, который у меня есть:

import sys
import cv

video="http://prot-on.dyndns.org:8080/video2.mjpeg"
capture =cv.CaptureFromFile(video)
cv.NamedWindow('Video Stream', 1 )
while True:
  # capture the current frame
  frame = cv.QueryFrame(capture)
  if frame is None:
    break
  else:
    #detect(frame)
    cv.ShowImage('Video Stream', frame)
  if k == 0x1b: # ESC
    print 'ESC pressed. Exiting ...'
    break

На самом деле, это работает, но для отображения изображений требуется слишком много времени. Я предполагаю, что это из-за этой ошибки от ffmpeg.

    [mjpeg @ 0x8cd0940]max_analyze_duration reached
    [mjpeg @ 0x8cd0940]Estimating duration from bitrate, this may be inaccurate

Я не эксперт по питонам, поэтому любая помощь будет признательна!

1 Ответ

1 голос
/ 12 мая 2011

Во-первых, mjpeg - это относительно простой видеоформат.Если вы читаете руководство по вашей IP-камере, очень похоже, что вы можете найти, как отобразить видео в браузере с небольшим количеством кода JavaScript.Фактически, если вы откроете ссылку http://prot -on.dyndns.org: 8080 / video2.mjpeg в Google Chrome, вы увидите видео без проблем.(Возможно, вам не следует оставлять реальный URL вашей камеры)

Во-вторых, насколько я вижу, частота кадров вашей камеры довольно низкая.Это может быть связано с интернет-задержкой или настройкой вашей камеры.Сравните то, что вы видите в Chrome, с видео, отображаемым вашим кодом, если оно того же качества, то это не проблема вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...