![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Господа, подскажите, какой компонент использовать для получения MJPEG over HTTP и каким образом лучше этот поток обработать?
Для получения отдельного кадра я использовал TidHTTP (инди). Код:
Когда отправляешь запрос: 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 обрабатывать каждый пришедший кусок данных и писать их в массив кадров... |
#2
|
||||
|
||||
![]() использовать асинхронный (неблокируемый) TClientSocket и вручную мультиплексировать multipart данные.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() А можно по-подробнее? TClientSocket в Delphi 7 имеется или нужно докачать? Иии, каким образом с помощью него сформировать GET запрос к камере? Тип страницы - multipart/x-mixed-replace. Не сочтите за попрошайничество, но хотелось бы небольшой пример... Спасибо.
|
#4
|
||||
|
||||
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
|||
|
|||
![]() Спасибо за помощь, теперь я знаю как искать в гугле! )))
Вот, для интересующихся набросал быдлокод пример. Это только для ознакомления с механизмом. Здесь конечно стоит работать в отдельном потоке и читать данные не в строку->мемстрим. Код:
|