[gst-devel] infinite mjpeg film from multi images

Alain MACCARI maccari.a at orange.fr
Fri May 29 15:01:44 CEST 2009


Hy

First, I want to apology for my english which is not as good as it should be.

What I'am trying to do is to create an infinite mjpeg film from jpeg images.
These images are in specific directory and may be removed or added by an outside entity.
An other specification is that the pipeline must be feed by buffers.

What I'am able to do is
# to create a film thank to multifilesrc with a pipeline of this kind:
string =("multifilesrc location=/home/qhfl5573/Images/JPEG/mer%%01d.jpeg index=0 caps=\"image/jpeg, framerate=\(fraction\)1/5\" ! jpegdec ! videoscale ! video/x-raw-yuv, format=\(fourcc\)I420, width=\(int\)640, height=\(int\)480 ! y4menc ! filesink location=test.yuv");
This works but the pipe is not feed by buffers and the number of images is fixed

#to see in a player images sent to the pipeline as buffers and managed by an application:
string = g_strdup_printf ("appsrc name=source is-live=TRUE caps=\"image/jpeg\" ! jpegdec ! videoscale ! video/x-raw-yuv, width=\(int\)640, height=\(int\)480 ! xvimagesink" );
This works but is not a movie

My problem is that I haven't found the way to mixed this 2 pipes in 1 of this kind:
string = g_strdup_printf ("appsrc name=source caps=\"image/jpeg, framerate=\(fraction\)12/1\" ! jpegdec name=dec ! videoscale ! video/x-raw-yuv, format=\(fourcc\)I420,width=\(int\)176,height=\(int\)144 ! y4menc ! filesink location=toto.yuv");

What it seem to me is that my file toto.yuv only contain the last decoded image. I think it's because when the
jepegdec stop decoding an image it sends an EOS which stop the y4menc.
But an other I use the EOS signal to decode the next image.
It looks like I'am trapped I don't seen the way to pass through this issue

Thank to whom may help me

Alain





More information about the gstreamer-devel mailing list