The stream consists of frames and messages. All dates are sent in 24 hour format: dd.MM.yy kk:mm:ss
For instance, 15.05.10 10:51:44 – May 15, 2010 at 10:51:44
Three lines are received just after the http heading:
sessionid=29101F1\n
errmsg=Error text message\n
errcode=100\n
Here:
- sessionid - session id. This parameter is reserved, not in use.
- errmsg – message about error in the text format;
- errcode possesses the following values:
- 100 – no errors
- 101 – too many users connected
- 102 – invalid password (in theory the password can be changed at any moment)
- 103 – video server is not available
- 104 – older version of the client. Update the version.
Video frame or message will be received (if errcode=100) after these three lines.
Frame format:
Frame\n
size=23978\n
delay=5243\n
width=320\n
height=240\n
file.name=C:\VIDEO\13-05-10 19\1._01\n
color=1\n
frm.total=500\n
frm.id=100\n
frm.time=15.05.10 10:51:44\n
format=1\n
byte[size-4] jpegdata
byte[4] jpegdataformat
Here:
- Last 4 bytes are to consist of the name: either JPEG or JPG1. Other formats are not supported.
- size – the size of binary data with image.
- delay – delay (in milliseconds) between frames.
- width - width in pixels.
- height – height in pixels.
- file.name – name of the archive file. It is used to navigate through the archive.
- color - 0-black and white, 1-color
- frm.total – total frames in the archive file (this parameter is not essential for live video)
- frm.id – ordinal number in the archive file (this parameter is not essential for live video)
- frm.time – time when frame appears
- format - always 1;
- jpegdata – buffer with JPEG frame;
- jpegdataformat – 4 bytes with JPEG or JPG1.
Message format:
Msg=start\n
type=CAM\n
id=1\n
action=DISABLED\n
paramname=paramvalue\n
Msg=end\n
Here:
- Msg=start and Msg=end indicate the beginning and ending of the message.
- type – type of the object that is the source of the message
- id – object id
- action
- paramname=paramvalue – the set of parameters and their values. There can be several parameters with different names.