<div dir="ltr">Hi !<div><br></div><div>After having set up gstreamer 1.10.4 on a Debian Stretch / RPi / armhf, I'm trying to use</div><div>OpenMax to encode a MJPEG video from a UVC webcam.</div><div><br></div><div>I try using this command :</div><div>gst-launch-1.0 -vv -e v4l2src device=/dev/video0  ! "image/jpeg,width=640,height=480" ! queue ! jpegdec ! videoconvert ! omxh264enc ! matroskamux ! filesink location=videotestsrc.mkv</div><div><br></div><div>And I get this error :</div><div><div>Définition du pipeline à PAUSED...</div><div>Le pipeline est actif et n’a pas besoin de phase PREROLL…</div><div>Passage du pipeline à la phase PLAYING…</div><div>New clock: GstSystemClock</div><div>/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)61612/513</div><div>ERREUR : de l’élément /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0 : Internal data stream error.</div><div>Information de débogage supplémentaire :</div><div>gstomxvideoenc.c(843): gst_omx_video_enc_loop (): /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:</div><div>stream stopped, reason not-negotiated</div><div>EOS à la fermeture est activé -- attente d’EOS après erreur</div><div>Attente d’EOS.</div><div>/GstPipeline:pipeline0/GstMatroskaMux:matroskamux0.GstPad:src: caps = video/x-matroska</div><div>/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-matroska</div><div>^[[A^Chandling interrupt.</div><div>Interruption : arrêt du pipeline…</div><div>Interruption lors de l’attende d’EOS - arrêt du pipeline…</div><div>Execution ended after 0:00:50.361774870</div><div>Définition du pipeline à PAUSED...</div><div>Définition du pipeline à READY (prêt)…</div><div>Définition du pipeline à NULL…</div><div>Libération du pipeline…</div><div><br></div><div><br></div><div>But, when I use x264enc, it works :</div><div><br></div><div><div>Définition du pipeline à PAUSED...</div><div>Le pipeline est actif et n’a pas besoin de phase PREROLL…</div><div>Passage du pipeline à la phase PLAYING…</div><div>New clock: GstSystemClock</div><div>/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)61612/513, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:4:7:1</div><div>/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)640, height=(int)480, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)1:4:0:0, framerate=(fraction)61612/513</div><div>/GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)61612/513</div><div>ERREUR : de l’élément /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0 : Internal data stream error.</div><div>Information de débogage supplémentaire :</div><div>gstomxvideoenc.c(843): gst_omx_video_enc_loop (): /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:</div><div>stream stopped, reason not-negotiated</div><div>EOS à la fermeture est activé -- attente d’EOS après erreur</div><div>Attente d’EOS.</div><div>/GstPipeline:pipeline0/GstMatroskaMux:matroskamux0.GstPad:src: caps = video/x-matroska</div><div>/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-matroska</div><div>^[[A^Chandling interrupt.</div><div>Interruption : arrêt du pipeline…</div><div>Interruption lors de l’attende d’EOS - arrêt du pipeline…</div><div>Execution ended after 0:00:50.361774870</div><div>Définition du pipeline à PAUSED...</div><div>Définition du pipeline à READY (prêt)…</div><div>Définition du pipeline à NULL…</div><div>Libération du pipeline…</div></div><div><br></div><div><br></div><div>So I think there is something wrong in the way I use omxh264enc, but I can't find what. FYI, I build gst-omx from source code (<a href="https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.4.tar.xz">https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.4.tar.xz</a>)</div><div><br></div><div>Thank you in advance.</div>-- <br><div class="gmail_signature"><div dir="ltr">Damien Picard<br><a href="http://www.editions-eni.fr/livres/gwt-google-web-toolkit-developpez-des-applications-internet-riches-ria-en-java/.97a1a26e7d5be94763fc45ac2a1e961a.html" target="_blank">Expert GWT</a><br>Mob : 06 11 51 47 78</div></div>
</div></div>