<div dir="ltr"><div>I've recompiled gst-plugins-bad and gst-omx (1.11.1) with your env variables and it did not work, but then I set:<br><br><br></div><div>export CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux/ -I/opt/vc/include/IL"<br>export LDFLAGS="-L/opt/vc/lib"<br>export CPPFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/IL"<br>export LIBS="-L/opt/vc/lib"<br><br></div><div>and it worked. Maybe I fucked up something else, I don't know. It's working now, so thank you.<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 March 2017 at 10:43, Matthew Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class="">
<div class="m_-9089761008928445746moz-cite-prefix">On 23/03/17 00:19, David Ventura wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>My caps seem to be not using zerocopy:<br>
<br>
/GstPipeline:pipeline0/<wbr>GstOMXH264Dec-omxh264dec:<wbr>omxh264dec-omxh264dec0.GstPad:<wbr>sink:
caps = video/x-h264, stream-format=(string)byte-<wbr>stream,
alignment=(string)au, level=(string)4, profile=(string)high,
width=(int)1280, height=(int)720, framerate=(fraction)0/1,
parsed=(boolean)true<br>
/GstPipeline:pipeline0/<wbr>GstOMXH264Dec-omxh264dec:<wbr>omxh264dec-omxh264dec0.GstPad:<wbr>src:
caps = video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, interlace-mode=(string)<wbr>progressive,
pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)0/1<br>
/GstPipeline:pipeline0/<wbr>GstQueue:queue1.GstPad:src: caps =
video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, interlace-mode=(string)<wbr>progressive,
pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)0/1<br>
/GstPipeline:pipeline0/<wbr>GstQueue:queue1.GstPad:sink: caps =
video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, interlace-mode=(string)<wbr>progressive,
pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)0/1<br>
/GstPipeline:pipeline0/<wbr>GstGLImageSink:glimagesink0.<wbr>GstPad:sink: caps =
video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, interlace-mode=(string)<wbr>progressive,
pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)0/1<br>
<br>
<br>
<br>
</div>
What options did I miss while building gst-plugins-bad /
gst-omx ?<br>
<br>
</div>
In my build script I used:<br>
<br>
AUTOGEN_FLAGS=" --with-omx-header-path=/opt/<wbr>vc/include/IL
--with-omx-target=rpi --prefix=/usr
--libdir=/usr/lib/arm-linux-<wbr>gnueabihf/"<br>
AUTOGEN_FLAGS="$AUTOGEN_FLAGS
--disable-{fatal-warnings,gtk-<wbr>doc,debug,debugutils,tests,<wbr>examples}"<br>
</div>
</blockquote>
<br></span>
Make sure you're building gst-omx and gst-plugins-bad from
compatible versions. Having both gst-omx and gst-plugins-bad be
>= 1.10.0 is a good start. Using older versions it gets
complicated as to which versions are compatible with each other.<br>
<br>
My build setup uses<br>
<br>
CPPFLAGS="-I/opt/vc/include
-I/opt/vc/include/interface/<wbr>vcos/pthreads
-I/opt/vc/include/interface/<wbr>vmcs_host/linux -I/opt/vc/include/IL"<br>
LIBS="-L/opt/vc/lib"<br>
<br>
In the environment<br>
<br>
--disable-x11 --disable-opengl --disable-glx --enable-gles2
--disable-wayland --with-gles2-module-name=/opt/<wbr>vc/lib/libGLESv2.so
--with-egl-module-name=/opt/<wbr>vc/lib/libEGL.so<br>
<br>
for autogen in gst-plugins-bad and<br>
<br>
--with-omx-target=rpi<br>
<br>
for autogen in gst-omx<br>
<br>
Cheers<br>
-Matt<div><div class="h5"><br>
<br>
<blockquote type="cite">
<div class="gmail_extra">
<div class="gmail_quote">On 22 March 2017 at 09:59, Matthew
Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span>
<div class="m_-9089761008928445746m_-5068075265185795359moz-cite-prefix">On
22/03/17 23:35, David Ventura wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>While it does help, it's way, way worse than it
should be. Is this 'normal'? Is there any way to
play back a gstreamer pipeline smoothly on a pi?
This is 1280x720@25. Lowering the source bitrate
helps a little, but it's not even that high to
begin with.<br>
</div>
</div>
</blockquote>
<br>
</span> If you actually built gst-omx and gst-plugins-bad
correctly, you will just get smooth playback of 1080p@30
videos.<br>
<br>
Have a look at the caps between omxh264dec and glimagesink
if they do not contain video/x-raw(memory:GLMemory) then
the zerocopy path is not being used.<br>
<br>
The other thing to double check is the latency setting
(10ms) on rtpjitterbuffer be be too low for your network.<br>
<br>
Cheers<br>
-Matt<span><br>
<br>
<blockquote type="cite">
<div dir="ltr">David<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 22 March 2017 at 07:56,
Matthew Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span> On
22/03/17 04:15, David Ventura wrote:<br>
<blockquote type="cite">
<div dir="ltr">
<div>Hi. I've been trying to play either
a udp h264 stream or a video file with
hardware acceleration.<br>
<br>
</div>
With this command I get VERY choppy
playback, low cpu usage and a lot of
banding:<br>
<div><br clear="all">
gst-launch-1.0 -qe udpsrc port=5002
do-timestamp=true ! queue !
application/x-rtp, payload=96 !
rtpjitterbuffer latency=10 !
rtph264depay ! h264parse ! omxh264dec
! glimagesink <br>
</div>
</div>
</blockquote>
<br>
</span> Adding a small queue after the decoder
at least would decouple video decoding from
actual rendering which probably helps here.<br>
<br>
As you have low CPU usage I assume you built
gst-omx and gst-plugins-bad correctly for
zerocopy decoding which is good :)<br>
<br>
Cheers<br>
-Matt<span><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>adding<br>
<br>
enable-last-sample=false qos=false<br>
<br>
</div>
<div>to the glimagesink makes it
somewhat better, but still horrible.<br>
<br>
Similar thing (banding, low fps, low
cpu usage) happens with: <br>
gst-launch-1.0 filesrc
location=file.mp4 ! qtdemux !
h264parse ! omxh264dec ! glimagesink<br>
<br>
</div>
<div>I compiled this version on my own,
I'm running 1.11.1 right now.<br>
<br>
</div>
<div>What can I do about this? <br>
</div>
<div>-- <br>
<div class="m_-9089761008928445746m_-5068075265185795359m_241831504208025624gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div><b>Stack</b> is the new
term for "I have no idea
what I'm actually using".</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</span></div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
<div class="m_-9089761008928445746m_-5068075265185795359gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div><b>Stack</b> is the new term for "I
have no idea what I'm actually using".</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</span></div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
<div class="m_-9089761008928445746gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div><b>Stack</b> is the new term for "I have no idea
what I'm actually
using".</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><b>Stack</b> is the new term for "I have no idea what I'm actually
using".</div></div></div></div></div>
</div>