Decode MJPEG over HTTP from IP camera

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Decode MJPEG over HTTP from IP camera

5,766件の閲覧回数
timf
Contributor II

Hi All,

I'm trying to decode a MJPEG stream from IP camera. It works with jpegdec, but I can't get vpudec to work.

# gst-launch souphttpsrc location=http://10.0.0.5:8081 ! queue ! jpegdec ! autovideosink

The stream is MJPEG over HTTP. Does vpu support this type of MJPEG, how can I get it to work? Thanks.

If I run it with vpudec, i got:

/root # gst-launch souphttpsrc location=http://10.0.0.5:8081 ! queue ! vpudec ! autovideosink

/root # gst-launch souphttpsrc location=http://10.0.0.5:8081 ! queue ! vpudec ! autovideosink

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_pad_template_new: assertion `caps != NULL' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_pad_template_new: assertion `caps != NULL' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_pad_template_new: assertion `caps != NULL' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_pad_template_new: assertion `caps != NULL' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_pad_template_new: assertion `caps != NULL' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_class_add_pad_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gst-plugin-scanner:3386): GLib-GObject-WARNING **: cannot register existing type `GstVorbisDec'

(gst-plugin-scanner:3386): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(gst-plugin-scanner:3386): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed

Setting pipeline to PAUSED ...

this is powerful mx6q

MFW_GST_V4LSINK_PLUGIN 3.0.1 build on Sep  9 2013 17:35:53.

[INFO] Product Info: i.MX6Q/D/S

vpudec versions :smileyhappy:

  plugin: 3.0.1

  wrapper: 1.0.28(VPUWRAPPER_ARM_LINUX Build on Sep  9 2013 17:27:45)

  vpulib: 5.4.6

  firmware: 2.1.5.32515

Pipeline is PREROLLING ...

** (gst-launch-0.10:3385): CRITICAL **: gst_vpudec_chain: assertion `vpudec->context.handle' failed

ラベル(2)
0 件の賞賛
返信
2 返答(返信)

2,009件の閲覧回数
LeonardoSandova
Specialist I

The assertion is coming from the function which does the decoding task, so there must be something (header?) on the input data that vpudec does not like. Have you tried other MJPEG streams?

Leo

0 件の賞賛
返信

2,009件の閲覧回数
timf
Contributor II

I tested with Sanyo HD2100 IP camera, same result.

Seems all JPEGs from IP cameras are JPEG/EXIF which vpudec doesn't like.

0 件の賞賛
返信