Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
python-opencv ip camera example
import base64
import time
import urllib2
import cv2
import numpy as np
Examples of objects for image frame aquisition from both IP and
physically connected cameras
- opencv (cv2 bindings)
- numpy
class ipCamera(object):
def __init__(self, url, user=None, password=None):
self.url = url
auth_encoded = base64.encodestring('%s:%s' % (user, password))[:-1]
self.req = urllib2.Request(self.url)
self.req.add_header('Authorization', 'Basic %s' % auth_encoded)
def get_frame(self):
response = urllib2.urlopen(self.req)
img_array = np.asarray(bytearray(, dtype=np.uint8)
frame = cv2.imdecode(img_array, 1)
return frame
class Camera(object):
def __init__(self, camera=0): = cv2.VideoCapture(camera)
if not
raise Exception("Camera not accessible")
self.shape = self.get_frame().shape
def get_frame(self):
_, frame =
return frame

tmkasun commented Oct 9, 2013


raurey commented Oct 1, 2015

any brand?? i'm going to work with a foscam IP cam....

haaku commented Nov 26, 2015

Got error
error: [Errno 10054] An existing connection was forcibly closed by the remote host

baijuep commented Mar 13, 2016

I tried the above code and gets error as
File "", line 14
def init(self,, user=admin, password=1234QWER):
IndentationError: expected an indented block
I had edited these lines
class ipCamera(object):
def init(self,, user=admin, password=1234QWER):
self.url = url

danielAlbuquerque commented May 11, 2016

@baijuep, you need to write URI inside quotes, like that: ''

How can it run?
This is only def, no main.
I am not same smart like you

Bhulok commented Aug 21, 2016

what is this?
Process finished with exit code 0

goodday new to this one. how can use this example. thanks

how to use this code ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment