Поток состоит из фреймов и сообщений.
Все даты посылаются в 24-часовом формате: dd.MM.yy kk:mm:ss. Например, 15.05.10 10:51:44 – 15 мая 2010 года 10 часов 51 минута 44 секунды
В ответе сразу после http заголовка присылаются три строчки:
sessionid=29101F1\n
errmsg=Error text message\n
errcode=100\n
Здесь:
- sessionid – id сессии. Это зарезервированный параметр, не используется.
- errmsg – сообщение об ошибке в текстовом виде;
- errcode принимает следующие значения:
- 100 – ошибок нет
- 101 – слишком много подключенных пользователей
- 102 – неверный пароль (теоретически пароль может быть изменен в любой момент работы)
- 103 – видеосервер не доступен
- 104 – старая версия клиента. Обновите версию.
После этих трёх строчек (если код errcode=100) будет получен видеофрейм или cообщение.
Формат видеофрейма:
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
Здесь:
- В последних 4-х байтах должно содержаться название: либо JPEG, либо JPG1. Другие форматы не поддерживаются.
- size – размер бинарного буфера с изображением
- delay – задержка между кадрами в миллисекундах.
- width – ширина в пикселях.
- height – высота в пикселях.
- file.name – имя файла архива. Используется при навигации по архиву.
- color – 0-черно-белый, 1-цвет
- frm.total – всего фреймов в файле архива (для живого видео этот параметр не важен)
- frm.id – порядковый номер в файле архива (для живого видео этот параметр не важен)
- frm.time – время возникновения фрейма
- format – всегда 1;
- jpegdata – буфер с фреймом JPEG;
- jpegdataformat – 4 байта с JPEG или JPG1.
Формат сообщения:
Msg=start\n
type=CAM\n
id=1\n
action=DISABLED\n
paramname=paramvalue\n
Msg=end\n
Здесь:
- Msg=start и Msg=end отмечают начало и конец сообщения соответственно.
- type – тип объекта, от которого пришло сообщение.
- id – идентификатор объекта.
- action – действие.
- paramname=paramvalue – набор параметров и их значений. Параметров может быть несколько и с разными названиями.