Hello,<br><br>I am trying on a Freescale ARM-based board to encode JPEG or PNG picture from a webcam source through gst-launch this way:<br><br>gst-launch-0.10 --verbose v4l2src num-buffers=1 ! ffenc_png !  filesink location=toto.png<br>
<br>(I was advised by Freescal support to set num-buffers to 1 because gst-launch never gets out).<br><br>The result is as follows and produces an empty file:<br><br>Setting pipeline to PAUSED ...<br>/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv, 1<br>
Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>/GstPipeline:pipeline0/ffenc_png:ffenc_png0.GstPad:src: caps = image/png, width1<br>/GstPipeline:pipeline0/ffenc_png:ffenc_png0.GstPad:sink: caps = video/x-raw-yuv1<br>
Got EOS from element &quot;pipeline0&quot;.<br>Execution ended after 7175133452 ns.<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>/GstPipeline:pipeline0/ffenc_png:ffenc_png0.GstPad:src: caps = NULL<br>
/GstPipeline:pipeline0/ffenc_png:ffenc_png0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br>root@freescale ~$ ls<br>
<br>When I try the same command on an Ubuntu system with the same webcam (<b>replacing ffenc_png with pngenc - I do not know why pngenc has been replaced with ffenc_png on the Freescale Linux distro</b>) then I get a right PNG file:<br>
<br>gst-launch-0.10 --verbose v4l2src num-buffers=1 ! pngenc !  filesink location=toto.png<br><br>This produces:<br>Définition du pipeline à PAUSED...<br>/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)640, height=(int)480, framerate=(fraction)30/1<br>
Le pipeline est actif et n&#39;a pas besoin de phase PREROLL...<br>Passage du pipeline à la phase PLAYING...<br>New clock: GstSystemClock<br>/GstPipeline:pipeline0/GstPngEnc:pngenc0.GstPad:src: caps = image/png, width=(int)640, height=(int)480, framerate=(fraction)30/1<br>
/GstPipeline:pipeline0/GstPngEnc:pngenc0.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)640, height=(int)480, framerate=(fraction)30/1<br>
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = image/png, width=(int)640, height=(int)480, framerate=(fraction)30/1<br>EOS reçu de l&#39;élément « pipeline0 ».<br>Execution ended after 791913102 ns.<br>Définition du pipeline à PAUSED...<br>
Définition du pipeline à READY (prêt)...<br>/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstPngEnc:pngenc0.GstPad:src: caps = NULL<br>/GstPipeline:pipeline0/GstPngEnc:pngenc0.GstPad:sink: caps = NULL<br>
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL<br>Définition du pipeline à NULL...<br>Libération du pipeline (FREE)...<br><br>On Ubuntu, the first pipe gives more information about the v4l2src, not on the Freescale.<br>
<br>What I know is that the webcam is providing video data since I can fill a file when I simply do:<br><br>gst-launch-0.10 --verbose v4l2src num-buffers=1 ! filesink loc<br>ation=toto.raw <br><br>I am ready to provide more information if required for debugging this. My first goal is:<br>
1- Do I use the correct syntax with ffenc_png?<br>2- What do the debug messages mean?<br><br>I have other issues with the jpeg encoding but first I prefer focusing on PNG encoding.<br><br>Best Regards,<br>Franz<br><br>