Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Формат JPEG


Автор: WERITAS 22.2.2010, 16:12
Добрый день. Кто-нибудь разбирался с jpeg-форматом? Меня интересует поле, в котором была бы записана длина данных или размер файла. Читаю вот спецификацию... Ох как всё непросто :(
Сорри, если немного не по теме : )

Автор: Rickert 23.2.2010, 07:07
А зачем вам информация о размере файла в самом файле? Есть и другие способы узнать его.
JPEG нетривиальный формат.
Описание формата можно найти тут - http://www.wotsit.org/list.asp?search=JPEG&button=GO!

Автор: WERITAS 23.2.2010, 10:51
Цитата(Rickert @  23.2.2010,  07:07 Найти цитируемый пост)
Есть и другие способы узнать его.

Поподробнее можно. Мне надо узнать размер принимаемой по сети картинки, когда она ещё не загружена целиком

Автор: Graf_h 23.2.2010, 15:58
WERITAS,  передайте перед картинкой ее размер

Автор: skyboy 23.2.2010, 16:25
Цитата(WERITAS @  23.2.2010,  09:51 Найти цитируемый пост)
Мне надо узнать размер принимаемой по сети картинки

какой протокол используется?
например, НТТР предусматривает заголовок Content-Length

Автор: Rickert 23.2.2010, 17:56
WERITAS, это вопрос протокола. Размер файлы вы должны знать до того как начнётся его передача. Если это не так, то у вас неправильная организация программы.

Автор: Artemon 23.2.2010, 20:37
Рискну предположить следующее:

Автору топика нужно знать НЕ размер файла, а размер изображения, сохраненного в jpeg.

Автор: skyboy 23.2.2010, 20:58
Цитата(Artemon @  23.2.2010,  19:37 Найти цитируемый пост)
ужно знать НЕ размер файла, а размер изображения, сохраненного в jpeg

т.е. вот это
Цитата(WERITAS @  22.2.2010,  15:12 Найти цитируемый пост)
была бы записана длина данных или размер файла

означает на самом деле разрешение? а с чего взял-то?


Автор: WERITAS 24.2.2010, 07:35
Цитата(skyboy @  23.2.2010,  16:25 Найти цитируемый пост)
Например, НТТР предусматривает заголовок Content-Length

А если это видеоряд в формате MJPEG? Там только один http-ответ. Откуда браузер каждый раз узнаёт размер передаваемой картинки?

Автор: Rpahut 24.2.2010, 23:42
Цитата

А если это видеоряд в формате MJPEG?


А если это вдруг окажется png или вообще зип... Передача файла и потоковых данных это две разные сказки. Определитесь.
Для MJPEG размер кадра вероятно передается вместе с потоком. Это было бы логично.

В самом файле jpeg размер может не указываться, потому что зачем он там? Для декодирования он бесполезен, а передача файла возлагается на соответствующий протокол, HTTP там или FTP, он и отвечает за указание размера и прочих необходимых.

Автор: WERITAS 25.2.2010, 09:45
Цитата(Rpahut @  24.2.2010,  23:42 Найти цитируемый пост)
Для MJPEG размер кадра вероятно передается вместе с потоком. Это было бы логично.

К сожалению, это не так. По-крайней мере для тех ip-камер, с которыми работаю я.

Цитата(Rpahut @  24.2.2010,  23:42 Найти цитируемый пост)
Определитесь

Речь про передачу видеоряда в формате MJPEG. 

Цитата(Rpahut @  24.2.2010,  23:42 Найти цитируемый пост)
а передача файла возлагается на соответствующий протокол, HTTP там или FTP

Цитата(WERITAS @  24.2.2010,  07:35 Найти цитируемый пост)
Там только один http-ответ. Откуда браузер каждый раз узнаёт размер передаваемой картинки?

Я просматривал http-ответ (он один, это важно!), в нём нет и не может быть информации о размерах картинок в потоке MJPEG.

Автор: Rpahut 25.2.2010, 20:55
Прогресс. Осталось выяснить, что именно передают ваши камеры. Для мжпег вроде бы нет четкой спецификации.

Зато есть протокол RTP (http://ru.wikipedia.org/wiki/RTP) и RFC http://www.faqs.org/rfcs/rfc2435.html, описывающий его применение относительно mjpeg. В заголовке RTP указывается размер нагрузки, думаю это то что вам нужно. Пакет RTP правда не обязательно вмещает весь видеокадр целиком.

 smile http://forum.vingrad.ru/topic-251104.html

Автор: Rickert 1.3.2010, 10:24
Модератор: Название темы должно отражать ее суть! Надо понимать что jpeg и mjpeg - это всё-так разные формат созданые с разными целями, а то вы спрашиваете о jpeg, а потом клещами из вас вытягивают, что речь-то о mjpeg.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)