Hi,
Got a rather tacky little east-asian IP camera (apparently a Foscam knock-off), and trying to write a little DIY DVR (of sorts) for it on Linux (Debian 'Sid'). Here's the command I use: icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink and here's what I get. Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)0/1 ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2582): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: streaming task paused, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: caps = NULL Freeing pipeline ... The username/password for the challenged domain is correct, as I can test it with exact same URL in Firefox, and similarly in vlc. Could someone suggest what I should be checking and what might be wrong ? On reading around, I found 2 different syntaxes on reading MJPEG streams off IP cams, and not sure which one is to be used, and what's the difference -- Approach-1: (writes to file) 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 Approach-2: (displays on local display device) gst-launch souphttpsrc location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! jpegdec ! glimagesink force-aspect-ratio=true In first approach, there's a step of demuxing multipart encoded JPEGs, and then possibly specifying image decode with certain attributes. In second approach I don't see any multipart encode handling, and direct invocation of jpeg-decoder. In my setup, I don't even seem to have a glimagesink though ! ~ Icarus _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Il 01/09/2011 13:32, Icarus Alive ha scritto:
> Hi, > > Got a rather tacky little east-asian IP camera (apparently a Foscam > knock-off), and trying to write a little DIY DVR (of sorts) for it on > Linux (Debian 'Sid'). Here's the command I use: > > icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc > location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi > do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink try gst-launch souphttpsrc location=... ! jpegparse ! jpegdec ! xvimagesink sync=false Nicola > > and here's what I get. > > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = > video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, > framerate=(fraction)0/1 > ERROR: from element > /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow > error. > Additional debug info: > gstbasesrc.c(2582): gst_base_src_loop (): > /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: > streaming task paused, reason not-negotiated (-4) > ERROR: pipeline doesn't want to preroll. > Setting pipeline to NULL ... > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: > caps = NULL > Freeing pipeline ... > > The username/password for the challenged domain is correct, as I can > test it with exact same URL in Firefox, and similarly in vlc. Could > someone suggest what I should be checking and what might be wrong ? > > On reading around, I found 2 different syntaxes on reading MJPEG > streams off IP cams, and not sure which one is to be used, and what's > the difference -- > > Approach-1: (writes to file) > 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 > > Approach-2: (displays on local display device) > gst-launch souphttpsrc > location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! > jpegdec ! glimagesink force-aspect-ratio=true > > In first approach, there's a step of demuxing multipart encoded JPEGs, > and then possibly specifying image decode with certain attributes. In > second approach I don't see any multipart encode handling, and direct > invocation of jpeg-decoder. > > In my setup, I don't even seem to have a glimagesink though ! > > > ~ Icarus > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Thu, Sep 1, 2011 at 7:47 PM, Mailing List SVR
<[hidden email]> wrote: > Il 01/09/2011 13:32, Icarus Alive ha scritto: >> >> Hi, >> >> Got a rather tacky little east-asian IP camera (apparently a Foscam >> knock-off), and trying to write a little DIY DVR (of sorts) for it on >> Linux (Debian 'Sid'). Here's the command I use: >> >> icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc >> location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi >> do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink > > try > > gst-launch souphttpsrc location=... ! jpegparse ! jpegdec ! xvimagesink > sync=false > Hello Nicola, Here's what I get with that... icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi ! jpegparse ! jpegdec ! xvimagesink WARNING: erroneous pipeline: no element "jpegparse" and... icarus@crunchex:~$ gst-inspect-0.10 jpegparse No such element or plugin 'jpegparse' and, I tried the following... icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi ! jpegdec ! xvimagesink sync=false Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Could not initialise Xv output Additional debug info: xvimagesink.c(1433): gst_xvimagesink_get_xv_support (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: No port available Setting pipeline to NULL ... Freeing pipeline ... So, no luck so far. ~Icarus >> >> and here's what I get. >> >> Setting pipeline to PAUSED ... >> Pipeline is PREROLLING ... >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = >> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >> framerate=(fraction)0/1 >> ERROR: from element >> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow >> error. >> Additional debug info: >> gstbasesrc.c(2582): gst_base_src_loop (): >> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: >> streaming task paused, reason not-negotiated (-4) >> ERROR: pipeline doesn't want to preroll. >> Setting pipeline to NULL ... >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL >> /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: >> caps = NULL >> Freeing pipeline ... >> >> The username/password for the challenged domain is correct, as I can >> test it with exact same URL in Firefox, and similarly in vlc. Could >> someone suggest what I should be checking and what might be wrong ? >> >> On reading around, I found 2 different syntaxes on reading MJPEG >> streams off IP cams, and not sure which one is to be used, and what's >> the difference -- >> >> Approach-1: (writes to file) >> 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 >> >> Approach-2: (displays on local display device) >> gst-launch souphttpsrc >> location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! >> jpegdec ! glimagesink force-aspect-ratio=true >> >> In first approach, there's a step of demuxing multipart encoded JPEGs, >> and then possibly specifying image decode with certain attributes. In >> second approach I don't see any multipart encode handling, and direct >> invocation of jpeg-decoder. >> >> In my setup, I don't even seem to have a glimagesink though ! gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Icarus Alive
On 09/01/2011 01:32 PM, Icarus Alive wrote:
> Hi, > > Got a rather tacky little east-asian IP camera (apparently a Foscam > knock-off), and trying to write a little DIY DVR (of sorts) for it on > Linux (Debian 'Sid'). Here's the command I use: > > icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc > location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi > do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink You need .. ! jpegdec ! ffmpegcolorspace ! autovideosink Wim > > and here's what I get. > > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = > video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, > framerate=(fraction)0/1 > ERROR: from element > /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow > error. > Additional debug info: > gstbasesrc.c(2582): gst_base_src_loop (): > /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: > streaming task paused, reason not-negotiated (-4) > ERROR: pipeline doesn't want to preroll. > Setting pipeline to NULL ... > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: > caps = NULL > Freeing pipeline ... > > The username/password for the challenged domain is correct, as I can > test it with exact same URL in Firefox, and similarly in vlc. Could > someone suggest what I should be checking and what might be wrong ? > > On reading around, I found 2 different syntaxes on reading MJPEG > streams off IP cams, and not sure which one is to be used, and what's > the difference -- > > Approach-1: (writes to file) > 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 > > Approach-2: (displays on local display device) > gst-launch souphttpsrc > location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! > jpegdec ! glimagesink force-aspect-ratio=true > > In first approach, there's a step of demuxing multipart encoded JPEGs, > and then possibly specifying image decode with certain attributes. In > second approach I don't see any multipart encode handling, and direct > invocation of jpeg-decoder. > > In my setup, I don't even seem to have a glimagesink though ! > > > ~ Icarus > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Icarus Alive
Il 01/09/2011 19:50, Icarus Alive ha scritto:
> On Thu, Sep 1, 2011 at 7:47 PM, Mailing List SVR > <[hidden email]> wrote: >> Il 01/09/2011 13:32, Icarus Alive ha scritto: >>> Hi, >>> >>> Got a rather tacky little east-asian IP camera (apparently a Foscam >>> knock-off), and trying to write a little DIY DVR (of sorts) for it on >>> Linux (Debian 'Sid'). Here's the command I use: >>> >>> icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc >>> location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi >>> do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink >> try >> >> gst-launch souphttpsrc location=... ! jpegparse ! jpegdec ! xvimagesink >> sync=false >> > Hello Nicola, > > Here's what I get with that... > > icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc > location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi ! > jpegparse ! jpegdec ! xvimagesink > WARNING: erroneous pipeline: no element "jpegparse" > > and... > > icarus@crunchex:~$ gst-inspect-0.10 jpegparse > No such element or plugin 'jpegparse' jpegparse is in -bad plugins, do you have gstreamer plugins bad installed? If yes what version are you using? I think jpegparse is in -bad since 0.10.21 Nicola > > > and, I tried the following... > > icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc > location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi ! > jpegdec ! xvimagesink sync=false > Setting pipeline to PAUSED ... > ERROR: Pipeline doesn't want to pause. > ERROR: from element > /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Could not > initialise Xv output > Additional debug info: > xvimagesink.c(1433): gst_xvimagesink_get_xv_support (): > /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: > No port available > Setting pipeline to NULL ... > Freeing pipeline ... > > > So, no luck so far. > > ~Icarus > >>> and here's what I get. >>> >>> Setting pipeline to PAUSED ... >>> Pipeline is PREROLLING ... >>> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg >>> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = >>> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >>> framerate=(fraction)0/1 >>> ERROR: from element >>> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow >>> error. >>> Additional debug info: >>> gstbasesrc.c(2582): gst_base_src_loop (): >>> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: >>> streaming task paused, reason not-negotiated (-4) >>> ERROR: pipeline doesn't want to preroll. >>> Setting pipeline to NULL ... >>> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL >>> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL >>> /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: >>> caps = NULL >>> Freeing pipeline ... >>> >>> The username/password for the challenged domain is correct, as I can >>> test it with exact same URL in Firefox, and similarly in vlc. Could >>> someone suggest what I should be checking and what might be wrong ? >>> >>> On reading around, I found 2 different syntaxes on reading MJPEG >>> streams off IP cams, and not sure which one is to be used, and what's >>> the difference -- >>> >>> Approach-1: (writes to file) >>> 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 >>> >>> Approach-2: (displays on local display device) >>> gst-launch souphttpsrc >>> location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! >>> jpegdec ! glimagesink force-aspect-ratio=true >>> >>> In first approach, there's a step of demuxing multipart encoded JPEGs, >>> and then possibly specifying image decode with certain attributes. In >>> second approach I don't see any multipart encode handling, and direct >>> invocation of jpeg-decoder. >>> >>> In my setup, I don't even seem to have a glimagesink though ! _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Wim Taymans
On Thu, Sep 1, 2011 at 11:23 PM, Wim Taymans <[hidden email]> wrote:
> On 09/01/2011 01:32 PM, Icarus Alive wrote: >> >> Hi, >> >> Got a rather tacky little east-asian IP camera (apparently a Foscam >> knock-off), and trying to write a little DIY DVR (of sorts) for it on >> Linux (Debian 'Sid'). Here's the command I use: >> >> icarus@crunchex:~$ gst-launch-0.10 -v souphttpsrc >> location=http://icarus:icarus123@192.168.1.20:8012/videostream.cgi >> do-timestamp=true ! multipartdemux ! jpegdec ! autovideosink > > You need .. ! jpegdec ! ffmpegcolorspace ! autovideosink Perfect. That worked. Any particular reason why the ffmpegcolorspace filter was required ? Didn't find any example using this element. >> >> and here's what I get. >> >> Setting pipeline to PAUSED ... >> Pipeline is PREROLLING ... >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = >> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >> framerate=(fraction)0/1 >> ERROR: from element >> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow >> error. >> Additional debug info: >> gstbasesrc.c(2582): gst_base_src_loop (): >> /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: >> streaming task paused, reason not-negotiated (-4) >> ERROR: pipeline doesn't want to preroll. >> Setting pipeline to NULL ... >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL >> /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL >> /GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: >> caps = NULL >> Freeing pipeline ... >> >> The username/password for the challenged domain is correct, as I can >> test it with exact same URL in Firefox, and similarly in vlc. Could >> someone suggest what I should be checking and what might be wrong ? >> >> On reading around, I found 2 different syntaxes on reading MJPEG >> streams off IP cams, and not sure which one is to be used, and what's >> the difference -- >> >> Approach-1: (writes to file) >> 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 >> >> Approach-2: (displays on local display device) >> gst-launch souphttpsrc >> location=http://admin:1234@192.168.1.150/mjpg/video.mjpg timeout=5 ! >> jpegdec ! glimagesink force-aspect-ratio=true >> >> In first approach, there's a step of demuxing multipart encoded JPEGs, >> and then possibly specifying image decode with certain attributes. In >> second approach I don't see any multipart encode handling, and direct >> invocation of jpeg-decoder. >> >> In my setup, I don't even seem to have a glimagesink though ! >> >> >> ~ Icarus >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |