gstreamer use with ip cameras
Alex Kuklin
alex at kuklin.ru
Mon Aug 1 04:14:51 PDT 2011
Hello
I'm working on video surveillance application processing video feed from
ip cameras.
Currently I have several D-Link DCS-930 and similar devices providing
MJPEG feed.
First, i tried to pick up the feed with an example from
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-souphttpsrc.html
manual page:
> gst-launch -v souphttpsrc location=http://10.11.12.13/mjpeg do-timestamp=true ! multipartdemux
> ! image/jpeg,width=640,height=480 ! matroskamux
> ! filesink location=mjpeg.mkv
The above pipeline reads a motion JPEG stream from an IP camera using
the HTTP protocol, encoded as mime/multipart image/jpeg parts, and
writes a Matroska motion JPEG file.
The problem is, multipartdemux does not work if the stream does not
start with delimiter:
>(BOS)
>Content-length: 34698
>Date: 01-03-2010 06:38:13 PM IO_00000000_PT_000_000
>Content-type: image/jpeg
>
>(data)
>--video boundary--
>(next header)
Adding delimiter to stream with
> ( echo "--video boundary--"; curl http://camera/MJPEG.CGI ) |
gst-launch fdsrc ! multipartdemux boundary="video boundary--" ! jpegdec
! xvimagesink
helps, but shouldn't multipartdemux handle this situation?
Next, i couldn't find a way to convert stream to some reasonable format.
MKV-encapsulated MJPEG isn't good enough as it is not supported by most
playes.
Could someone point me to appropriate manual/tutorial on building filter
chain?
Thanks a lot.
--
Alex
More information about the gstreamer-devel
mailing list