<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 5 janv. 2021 08 h 00, Gerbaum <<a href="mailto:jakob.ruisinger@gmail.com">jakob.ruisinger@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm using an i.MX6 quad on a Gateworks board. <br>
<br>
My problem is, that I try to get a MPJEG stream from a USB camera, decode<br>
it, encode it to h264 and set up RTSP Server on Top<br>
What's the best way to do it? RAW stream from USB camera would work, but<br>
cause of USB limitiation the fps (3) at 1080p is too low.<br>
<br>
My ideas:<br>
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1 ! v4l2jpegdec !  fakesink*<br>
Working with low CPU load<br>
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1 ! v4l2jpegdec ! <br>
v4l2h264enc ! fakesink*<br>
ERROR           v4l2videodec<br>
gstv4l2videodec.c:751:gst_v4l2_video_dec_handle_frame:<v4l2jpegdec0> not<br>
negotiated<br>
I guess that's because V4l2h264enc needs NV12<br>
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1,colorimetry=bt709 !<br>
v4l2jpegdec !  v4l2convert !  fakesink*<br>
Works, low CPU and no lost frames<br>
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1,colorimetry=bt709 !<br>
v4l2jpegdec !  v4l2convert !<br>
video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1,colorimetry=bt709<br>
! v4l2h264enc ! fakesink*<br>
ERROR         v4l2bufferpool<br>
gstv4l2bufferpool.c:909:gst_v4l2_buffer_pool_start:<v4l2h264enc0:pool:src><br>
we received 1 buffer from device '/dev/video8', we want at least 2<br>
ERROR             bufferpool<br>
gstbufferpool.c:559:gst_buffer_pool_set_active:<v4l2h264enc0:pool:src> start<br>
failed<br>
Maybe I'm using too much of my Coda960 pipes?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Does v4l2h264enc works at all ? Note that you can play with io-modes to try and get zero-copy, but in 1.16 you aren't guaranteed to get good image when it works.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1,colorimetry=bt709 !<br>
v4l2jpegdec !  videoconvert !  x264enc ! fakesink*<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Try to add tune=zerolatency to x264enc, the default encoding configuration is very expensive.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Works, but maxes out CPU and loses too much frames</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
*gst-launch-1.0 v4l2src -v device=/dev/video13 ! <br>
image/jpeg,width=1920,height=1080,framerate=30/1,colorimetry=bt709 !<br>
v4l2jpegdec !  v4l2convert !  x264enc ! fakesink*<br>
Work, but again way and too much CPU and lost frames<br>
<br>
Any idea? Running Kernel 5.4 Gstreamer 1.16.<br>
<br>
Is it possible to V4l2jpegdec to NV12? So I could skip v4l2convert...<br>
<br>
What's the best way to limit FPS? Maybe I could work with 15 fps...<br>
<br>
Thx<br>
<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div></div></div>