Russian Qt Forum
Ноябрь 22, 2024, 07:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MJPEG в Qt4  (Прочитано 4212 раз)
vutang
Гость
« : Апрель 18, 2010, 09:42 »

Добрый день. Имеется камера, которая по TCP/IP передает mjpeg. Нужно принять данные, записать в массив и потом отобразить в QImage. С подключение проблем нет, а вот с принимаемыми данными косяк. Нужно считывать в переменную типа unsigned char и искать FFD8 потом писать в массив пока не найдем FFD9. Так вопрос в том как мне правильно принять данные? Пробовал считывать в массив типа char (socket->(mass,sizeof(mass))), а потом из него выбирать, но откуда-то берется куча лишних данных между FFD8 и FFD9...
Записан
b-s-a
Гость
« Ответ #1 : Апрель 18, 2010, 17:49 »

в одном потоке непрерывно читаешь данные из сокета в "несколько кольцевых буферов" (т.е. у тебя 3 буфера по 1 МБ, пишешь в 1, 2, 3, 1, 2, 3...). во втором потоке анализируешь полученные данные. Т.е. находишь метку начала, запоминаешь ее адрес, ищешь метку конца, отображаешь кадр, проверяешь, можно ли освободить какой-нибудь буфер, если можно, то освобождаешь и ставишь его в конец очереди на чтение...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 21.