Потоковая передача MJPEG через RTSP

Я захватываю изображения JPEG с IP-камеры через RTSP. Я использую live555 + libavcodec для потоковой передачи и декодирования изображения MJPEG. Поток работает нормально до разрешения изображения 2048 x 1920. Но когда я увеличиваю ширину изображения выше 2048, я получаю прямоугольное изображение в виде полосы очень маленькой ширины (т.е. 544x1920). Изображение правильно захватывается и сохраняется на камере. Проблема возникает только при потоковой передаче изображения по RTSP на ПК. Есть ли какие-либо ограничения полезной нагрузки в RTP для MJPEG высокого разрешения?


person user846400    schedule 03.10.2011    source источник
comment
ооо, отлично. не могли бы вы поделиться, как вы получаете изображения JPEG через RTSP? Мне удалось передать данные с IP-камеры через RTSP с помощью SharpRTSP, который является транспортным уровнем, но я не могу понять, как это декодировать в MJPEG? спасибо за любую идею   -  person pixparker    schedule 13.12.2017


Ответы (2)


Пожалуйста, прочитайте http://tools.ietf.org/html/rfc2435 внизу страницы 4. Это написано, что максимальная ширина изображения 2040. Обходной путь возможен благодаря стандарту ONVIF.

person Romain Noizet    schedule 23.11.2011
comment
Это правильный ответ на вопрос. Интересно, почему его не приняли... - person noamik; 05.11.2013

Скорее всего, либо декодер неправильно декодирует изображение, либо RTP-клиент неправильно его реконструирует. 2048 пикселей не предел для JPEG (очевидно) и RTP-клиент мало занимается разбором битового потока, поэтому разрешение там не так важно (к тому же процесс доходит до декодированного изображения и не останавливается полностью на пути!).

person Roman R.    schedule 03.10.2011