Показать сообщение отдельно
  #1  
Старый 04.12.2011, 22:30
Eternal_Stranger Eternal_Stranger вне форума
Прохожий
 
Регистрация: 04.12.2011
Сообщения: 3
Репутация: 10
По умолчанию Обработка потока с ip камеры

Господа, подскажите, какой компонент использовать для получения MJPEG over HTTP и каким образом лучше этот поток обработать?
Для получения отдельного кадра я использовал TidHTTP (инди).
Код:
memorystream:=TMemoryStream.Create; 
Jpeg:=TJpegImage.create; 
IdHTTP1.Get('http://192.168.1.99/snapshot.cgi',memorystream);
jpeg.LoadFromStream(memorystream);
С этим проблем нет.
Когда отправляешь запрос: http://192.168.1.99/videostream.cgi, в ответ приходит поток данных:

--myboundary (разделитель)
Content-Type: image/jpeg
Content-Length: (размер кадра)
<JPEG image data>
--myboundary
Content-Type: image/jpeg
Content-Length:
<JPEG image data>
и т.д...

Мне нужно вытаскивать из этого потока кадры. Если использовать TidHTTP то руки связанны, так как memorystream используется методом GET(). Удобнее всего, было бы, как в TtcpClient - на событие onReceive обрабатывать каждый пришедший кусок данных и писать их в массив кадров...
Ответить с цитированием