<div dir="ltr"><div><div><div><div>> BTW: As I remember, I saw some environment variable which allows to
setup custom video sink... I need to see sources of QtMM... if I'm
not mistaked..<br>
maybe it will help...<br><br></div>I have found this env variables:<br><br>* QT_GSTREAMER_WIDGET_VIDEOSINK<br>* QT_GSTREAMER_WINDOW_VIDEOSINK<br><br></div>and try to use it:<br><br></div>$export QT_GSTREAMER_WIDGET_VIDEOSINK=nv_omx_hdmi_videosink<br>$export QT_GSTREAMER_WINDOW_VIDEOSINK=nv_omx_hdmi_videosink<br></div>$./my-qml-video-player<br><div><br></div><div>but, this does not help...<br><br></div><div>BR,<br></div><div>Denis<br></div><div><div><br><br><div><div><span class="im"></span></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-25 8:30 GMT+03:00 Denis Shienkov <span dir="ltr"><<a href="mailto:denis.shienkov@gmail.com" target="_blank">denis.shienkov@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<p>> Gstreamer 1.0+ goes some way to addressing these issues....
<br>
</p>
<p>The Apalis T30 board has GPU from the NVidia. So, when I use
'gst-inspect' I see some of 'nv' sinks.</p>
So, as I understand, the easy ways to do it are:<br>
<br>
1) I should try to use GStreamer 1.0 (instead of 0.10) "as is" with
QtMM (rebuild QtMM with this GStreamer), at first stage.<br>
<br>
2) I need try to change QtMM sources and try to set the specific
vendor-video sinks there, at second stage... (in case the first
stage does not work).<br>
<br>
Is it?<br>
<br>
BTW: As I remember, I saw some environment variable which allows to
setup custom video sink... I need to see sources of QtMM... if I'm
not mistaked..<br>
maybe it will help...<span class=""><br>
<br>
> but even within the standard packages there still seems to be
multiple APIs for codecs which produce EGL surfaces and none of them
have been utilized in QtMultimedia yet<br>
<br></span>
Could you please provide an examples of this API which is not
adopted in QtMM?<br>
<br>
<br>
<br>
BR,<br>
Denis<br>
<em></em><span><em><br>
<br>
</em></span>
<div>25.05.2016 4:44, Andrew den Exter
пишет:<br>
</div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">The short answer is some amount of platform
adaptation will be required to enable hardware acceleration on
your board. Looking at the page you linked to; that adaptation
might be achieved by creating an implementation
of QGstBufferPoolPlugin (gstreamer 0.10 only) which exposes EGL
surfaces associated with the <span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px">x-nv-yuv
buffers produced by the accelerated codec. Or you might also
need to create your own video node by implementing </span>QSGVideoNodeFactoryPlugin or
something more invasive may be required, it really depends on
how the vendor implemented their gstreamer plugins
<div><br>
</div>
<div>
<div>The reason hardware acceleration doesn't just work is
that hardware vendors have traditionally had to create
extensions to gstreamer in order to implement their hardware
accelerated plugins, and these extensions tend to require a
vendor specific video sink to work. If all you care about
is rendering to the full dimensions of a native window then
autovideosink will generally resolve to that vendor specific
video sink and that's why the standard example command line
examples tend to work. But when it comes to something more
complicated like compositing into an opengl scene or even as
simple as rendering to a sub rect of a window then you're
into the realm of vendor extensions and without a port to
your specific hardware it probably won't work. Gstreamer
1.0+ goes some way to addressing these issues, but even
within the standard packages there still seems to be
multiple APIs for codecs which produce EGL surfaces and none
of them have been utilized in QtMultimedia yet.</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Andrew</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, May 25, 2016 at 12:40 AM, Denis
Shienkov <span dir="ltr"><<a href="mailto:denis.shienkov@gmail.com" target="_blank">denis.shienkov@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 dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi all.<br>
<br>
</div>
I have the Toradex (Apalis T30) embedded board:<br>
<a href="https://www.toradex.com/computer-on-modules/apalis-arm-family/nvidia-tegra-3" target="_blank">https://www.toradex.com/computer-on-modules/apalis-arm-family/nvidia-tegra-3</a><br>
<br>
which has:<br>
<a href="http://developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/Images/Apalis_T30_LinuxImageV2.6Beta1_20160331.tar.bz2" target="_blank">http://developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/Images/Apalis_T30_LinuxImageV2.6Beta1_20160331.tar.bz2</a><br>
<br>
Linux Image, with the GStreamer 0.10. <br>
<br>
Also I have compiled Qt 5.6 and installed it to
the board.<br>
<br>
When I try to play any *.MP4 video file from the
QML Video item:<br>
<a href="http://doc.qt.io/qt-5/qml-qtmultimedia-video.html" target="_blank">http://doc.qt.io/qt-5/qml-qtmultimedia-video.html</a><br>
<br>
I see, that my video has very-very lags, and I see
(with htop utility) that CPU loading is ~300% (<br>
three cores running on ~100%).<br>
<br>
But, when I try to play the video, using the
'nvgstplayer' utility, I see that CPU loading is
~46% and all fine. Seems, the QML player loads the
SW codecs instead of HW codecs...<br>
<br>
</div>
<div>Is there are any way to say to QML player to
use a HW codecs? Or, maybe, I need to fix a
sources of QtMM (where I need to change it?) Or,
maybe, is there are another way to do this?<br>
<br>
Otherwise, is just a **HELL** and there is no
sense in QML QtMultimedia at all (But I need QML
for anumations). And I do not know, how to fix it
(I'm not expert in GStreamer).<br>
<br>
</div>
<div>PS: I have tried the 'gst-launch' pipelines
instead of 'nvgstplayer', as described here:<br>
<a href="http://developer.toradex.com/knowledge-base/video-playback-%28linux%29" target="_blank">http://developer.toradex.com/knowledge-base/video-playback-%28linux%29</a><br>
</div>
<div>but it crashes with sigsegv.... <br>
<br>
</div>
<div>BR,<br>
</div>
<div>Denis <br>
</div>
</div>
</div>
</div>
<br>
<br>
<div>
<div>
<div><br>
<br>
<div><br>
<br>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Development mailing list<br>
<a href="mailto:Development@qt-project.org" target="_blank">Development@qt-project.org</a><br>
<a href="http://lists.qt-project.org/mailman/listinfo/development" rel="noreferrer" target="_blank">http://lists.qt-project.org/mailman/listinfo/development</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>