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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Ip camera  (Прочитано 29819 раз)
Ubuntu_linux
Гость
« Ответ #30 : Апрель 22, 2011, 09:48 »

Да я так и думал делать,и посмотрев исходники понял что на правильном пути....
Потом будет задачка как записать ето все на диск, чтоб его прочитал плеер телефона...
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #31 : Апрель 22, 2011, 09:49 »

тогда без буфера никуда Улыбающийся хотя может есть более красивые решения  В замешательстве
Записан
ufna
Гость
« Ответ #32 : Апрель 22, 2011, 10:36 »

без буфера никуда, это я гаранитурую Улыбающийся вопрос лишь свопить сразу на диск и читать с него или в памяти.

и да, поток выше 10 кадров в секунду на симбе не думаю что получится.
Записан
Ubuntu_linux
Гость
« Ответ #33 : Апрель 22, 2011, 12:22 »

Ну симбиан не такая ужасная платформа... Тяжолая гиф анимация не ториозила,хотя на десктопе притормаживала...
Может  подумать как оптимизировать картинку под екран телефона(уменьшить)+ прикрутить опенгл...
Записан
Ubuntu_linux
Гость
« Ответ #34 : Апрель 22, 2011, 12:26 »

Надо писать на диск, чтоб потом конвертировать в видео..
но можно й в буфер чтоб просто смотреть в лайв режиме
Записан
Ubuntu_linux
Гость
« Ответ #35 : Апрель 22, 2011, 13:13 »

Привожу кусок Вашей функции которая находит кадр в файле:
Код
C++ (Qt)
void Display::update_screen()
{
QByteArray find;
       find.resize(2);
       find[0] = 0xFF;
       find[1] = 0xD8;
 
int begin = read_data.indexOf(find);
 
if (begin == -1)
{
return;
}
 
read_data = read_data.remove(0,begin);
 
       find[0] = 0xFF;
       find[1] = 0xD9;
 
 
int end = read_data.indexOf(find);
 
if (end == -1)
{
return;
}
 
QByteArray result;
result.resize(end);
 
for (int i = 0;i<end;i++)
{
result[i] = read_data[i];
}
 
QPixmap pxm;
pxm.loadFromData(result);
 
read_data = read_data.remove(0,end);
 
Screen->setPixmap(QPixmap(pxm));
}

Собственно вопрос:
Если верить сниферу, то у меня протокол передачи такой:

--ipCamera
Content type <image/jpeg>
Content length 22222

тут кадр

--ipCamera
Content type <image/jpeg>
Content length 22222

тут кадр

--ipCamera
Content type <image/jpeg>
Content length 22222

тут кадр

..........
......
....


Так значит вместо find[0] = 0xFF, find[1] = 0xD9  мне подставлять Content type <image/jpeg>, Content length 22222 ? Или я ошибаюсь?
« Последнее редактирование: Апрель 22, 2011, 13:16 от Ubuntu_linux » Записан
Ubuntu_linux
Гость
« Ответ #36 : Апрель 22, 2011, 20:21 »

Упс!
Выходит, что я не могу прочесть данные с QNetworkReply  пока передача не завершилась. А как ето обойти?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #37 : Апрель 22, 2011, 20:34 »

Странный у тебя протокол, обычно mjpeg - это по сути jpg картинки подряд, поэтому и код у меня так написан что сначало ищет начало кадра потом его конец, по идее он тебе тоже должен подойти, просто он будет опускать

--ipCamera
Content type <image/jpeg>
Content length 22222

хотя его можно будет переписать и сделать чтение без поиска конца кадра, т.к. длинна кадра у тебя передается.
Записан
Ubuntu_linux
Гость
« Ответ #38 : Апрель 22, 2011, 23:52 »

Что-то непонятно как организоват  чтение с QNetworkReply без остановки загрyзки картнок?
Записан
Ubuntu_linux
Гость
« Ответ #39 : Апрель 26, 2011, 02:10 »

Ура, у меня получилось достать с потока отделние картинки і подставить их в лабел! Но в лабел проскакивает очень ужасные  картинки.   Надо думать что делать.  Непонимающий

Пьюс, картинка тормозит в 2-3 раза, хотя  кадры подгружаются нормально. Наверное тормозит прорисовка в лабел, хотя не уверен!?

Да, я ето сделал в одном потоке!
« Последнее редактирование: Апрель 26, 2011, 02:18 от Ubuntu_linux » Записан
Ubuntu_linux
Гость
« Ответ #40 : Апрель 26, 2011, 12:24 »

Подскажите пожалуйста как с картинок JPEG сделать видео, скажем, 3GP ?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #41 : Апрель 26, 2011, 15:01 »

кури спецификацию 3GP  Улыбающийся без этого никуда
Записан
Ubuntu_linux
Гость
« Ответ #42 : Апрель 26, 2011, 20:30 »

Хи, получилось доставать картинки с видео потока, без тормозов Улыбающийся
Но появляются артефакты на картинках, не пойму что делать... Непонимающий
Записан
Ubuntu_linux
Гость
« Ответ #43 : Апрель 27, 2011, 01:08 »

кури спецификацию 3GP  Улыбающийся без этого никуда

Можете тикнунь носом где найти спецификацию?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #44 : Апрель 27, 2011, 08:32 »

конечно могу, в гугле Улыбающийся http://lmgtfy.com/?q=3gp+specification
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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