Hans,<div>In both cases you have tried to attach elements in the pipeline that do not match. This is one of the troubles with something as flexible as gstreamer is that there are also in infinite number of possibilities that do not work. <div>

<br><div>First, get yourself some visibility. See a previous post of mine that shows how to get a graphic of the pipeline with caps during and after construction. This will help you understand what is happening better than log files. </div>

<div><a href="http://gstreamer-devel.966125.n4.nabble.com/Pic-in-pic-with-videomixer-but-i-haven-t-audio-td3859731.html#a3861278">http://gstreamer-devel.966125.n4.nabble.com/Pic-in-pic-with-videomixer-but-i-haven-t-audio-td3859731.html#a3861278</a></div>

<div><br></div><div>Try this with playbin2 to see how the autoplugger connects your source to the display to understand better how to convert it. For example in your first error, I think the problem is that the framerate is zero. jpegdec only decodes one picture, you probably need ffdec_mjpeg instead.</div>

<div><br></div><div>Your second example is similar, you tried to connect a decoder of one frame to an encoder of a video stream. These are not compatible. </div><div><br></div><div>Finally some hints, H264 transcoding is pretty slow and complicated, start by just storing in an AVI or MP4 container first.</div>

<div><br></div><div>For making multiple files as output look into multifilesink. </div><div><a href="http://gstreamer-devel.966125.n4.nabble.com/How-to-capture-a-still-image-while-previewing-live-video-td3813993.html">http://gstreamer-devel.966125.n4.nabble.com/How-to-capture-a-still-image-while-previewing-live-video-td3813993.html</a><br clear="all">

<br>Experiment one piece at a time and eventually you will probably find a way.  Plan on it taking a while, just getting a good feel for all the capabilities and nuances  of gstreamer takes days if not weeks. Many nights have been lost to seductive examples that almost do what you want. <br>

<div><b><br></b></div><div><b>Mike Mitchell</b></div><div><b><a href="http://www.panometric.net">http://www.panometric.net</a><br></b>
<br>On Mon, Oct 17, 2011 at 12:03 PM, Hans Maree <span dir="ltr">&lt;<a href="mailto:hans.maree@gmail.com">hans.maree@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hello,<p>

I&#39;m trying to create a daemon that captures a video stream from an ip security-camera.<br>
The camera provides an jpeg stream with configurable framerate. I would like to capture this stream and encode it as x264 or some other popular video format (doesn&#39;t realy matter as long as the encoding process doesn&#39;t generate too much overhead). I also want the captured video to be split in 10 minute long files.
</p><p>
I tried the following pipeline based on <a href="http://ipcctvsoft.blogspot.com/2010/07/getting-image-from-mjpeg-source-using_15.html" rel="nofollow" link="external" target="_blank">this</a> blog post:</p><p>
<code>
$ gst-launch-0.10 -evt souphttpsrc location=&#39;<a href="http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456" target="_blank">http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456</a>&#39; do-timestamp=true timeout=5 ! multipartdemux ! jpegdec ! x264enc ! filesink location=test.x264<br>


Setting pipeline to PAUSED ...<br>
GLib-GIO-Message: Using the &#39;memory&#39; GSettings backend.  Your settings will not be saved or shared with other applications.<br>
Pipeline is PREROLLING ...<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)320, height=(int)240, framerate=(fraction)0/1<br>
Floating point exception
</code>
</p><p>
Replacing x264enc with mpeg2enc also gives an error message:</p><p>
<code>
$ gst-launch-0.10 -evt souphttpsrc location=&#39;<a href="http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456" target="_blank">http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456</a>&#39; do-timestamp=true timeout=5 ! multipartdemux ! jpegdec ! mpeg2enc ! filesink location=test.mpg<br>


Setting pipeline to PAUSED ...<br>
GLib-GIO-Message: Using the &#39;memory&#39; GSettings backend.  Your settings will not be saved or shared with other applications.<br>
Pipeline is PREROLLING ...<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)320, height=(int)240, framerate=(fraction)0/1<br>
ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow error.<br>
Additional debug info:<br>
gstbasesrc.c(2582): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming task paused, reason not-negotiated (-4)<br>
ERROR: pipeline doesn&#39;t want to preroll.<br>
Setting pipeline to NULL ...<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL<br>
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL<br>
/GstPipeline:pipeline0/GstMultipartDemux:multipartdemux0.GstPad:src_0: caps = NULL<br>
Freeing pipeline ...<br>
</code>
</p><p>
I can view the stream using xvimagesink however:</p><p>
<code>
$ gst-launch-0.10 -evt souphttpsrc location=&#39;<a href="http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456" target="_blank">http://192.168.0.178/videostream.cgi?rate=1&amp;user=admin&amp;pwd=123456</a>&#39; do-timestamp=true timeout=5 ! multipartdemux ! jpegdec ! xvimagesink
</code>
</p><p>
What am I doing wrong here and how can I fix it.
</p><p>
As a second question, what would be the best way to split the stream into 10 minute files, do I simply disconnect the filesink and connect a new one every ten minutes or is there a better way?
</p><p>
Thanks,
Hans Maree
        
<br></p><hr align="left" width="300">
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/capturing-mjpeg-from-ip-camera-tp3913047p3913047.html" target="_blank">capturing mjpeg from ip-camera</a><br>
Sent from the <a href="http://gstreamer-devel.966125.n4.nabble.com/" target="_blank">GStreamer-devel mailing list archive</a> at Nabble.com.<br><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><br>_______________________________________________<br>


gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div></div></div>