<div dir="ltr">Many thanks!<div><br></div><div>After installing</div><div><br></div><div>apt-get install i965-va-driver* libva-intel-vaapi-driver*</div><div><br></div><div>my NUCDN2820FYKH correctly found</div><div><br></div><div>libva info: VA-API version 0.35.0 and /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so</div><div><br></div><div>and started to smoothly play with vaapisink instead of autovideosink (with the difference that the time overlay does not show up any more; text overlay works OK)</div><div><br></div><div>But my Ubuntu 14.04 workstation with an nVidia card</div><div><br></div><div>reports failure:</div><div><br></div><div><div>libva info: VA-API version 0.35.0</div><div>libva info: va_getDriverName() returns 0</div><div>libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so</div><div>libva info: va_openDriver() returns -1</div><div>vaInitialize failed with error code -1 (unknown libva error),exit</div></div><div><br></div><div>and I could not find the latter .so library in any nouveau-related packages. Does it mean that nVidia/nouveau do not support VAAPI? I earlier experienced hang-ups with the nouveau driver and some people suggested that it is a known issue with nouveau. What would be ideal, dream graphics cards to support gstreamer?</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 18, 2014 at 4:06 PM, Gwenole Beauchesne <span dir="ltr"><<a href="mailto:gb.devel@gmail.com" target="_blank">gb.devel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div><div class="h5"><br>
2014-09-18 12:13 GMT+02:00 Sergei Vorobyov <<a href="mailto:sergei.vorobyov@facilitylabs.com">sergei.vorobyov@facilitylabs.com</a>>:<br>
> Thanks!<br>
><br>
> Indeed the problem was caused by the fact I tried to gst-discover via an ssh<br>
> connection, my fault. When I do it directly on the NUC, the .wmv file in<br>
> question is discovered and played OK... Almost.<br>
><br>
> Although the file started to play *reasonably well*, gst-launch continued to<br>
> complain about i965_drv_video.so, which indeed was missing:<br>
><br>
> fl@nuc3:~/ads$ gst-launch-1.0 filesrc location=621.wmv ! decodebin !<br>
> videoconvert ! ximagesink<br>
> Setting pipeline to PAUSED ...<br>
> Pipeline is PREROLLING ...<br>
> libva info: VA-API version 0.35.0<br>
> libva info: va_getDriverName() returns 0<br>
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>
> libva info: va_openDriver() returns -1<br>
> libva info: VA-API version 0.35.0<br>
> libva info: va_getDriverName() returns 0<br>
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>
> libva info: va_openDriver() returns -1<br>
> libva info: VA-API version 0.35.0<br>
> libva info: va_getDriverName() returns 0<br>
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>
> libva info: va_openDriver() returns -1<br>
> Redistribute latency...<br>
> Pipeline is PREROLLED ...<br>
> Setting pipeline to PLAYING ...<br>
> New clock: GstSystemClock<br>
> Got EOS from element "pipeline0".<br>
> Execution ended after 0:00:05.000180624<br>
> Setting pipeline to PAUSED ...<br>
> Setting pipeline to READY ...<br>
> Setting pipeline to NULL ...<br>
> Freeing pipeline ...<br>
><br>
> Worse things started to happen when I run apt-get install libva-*, which<br>
> installed dri/i965_drv_video.so<br>
><br>
> The playback became *real slow* (because of acceleration?) and gst-launch<br>
> reported:<br>
<br>
</div></div>It became slow because...<br>
<span class=""><br>
> fl@nuc3:~/ads$ gst-launch-1.0 filesrc location=621.wmv ! decodebin !<br>
> videoconvert ! ximagesink<br>
<br>
</span>... you are downloading the VA surface pixels to system memory, then<br>
use SW color conversion to RGB format for ximagesink.<br>
<div><div class="h5"><br>
> Setting pipeline to PAUSED ...<br>
> Pipeline is PREROLLING ...<br>
> libva info: VA-API version 0.35.0<br>
> libva info: va_getDriverName() returns 0<br>
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>
> libva info: Found init function __vaDriverInit_0_35<br>
> libva info: va_openDriver() returns 0<br>
> Got context from element 'vaapidecode0': gst.vaapi.Display=context,<br>
> display=(GstVaapiDisplay)NULL;<br>
> Pipeline is PREROLLED ...<br>
> Setting pipeline to PLAYING ...<br>
> New clock: GstSystemClock<br>
> WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: A<br>
> lot of buffers are being dropped.<br>
> Additional debug info:<br>
> gstbasesink.c(2791): gst_base_sink_is_too_late ():<br>
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0:<br>
> There may be a timestamping problem, or this computer is too slow.<br>
> WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: A<br>
> lot of buffers are being dropped.<br>
> Additional debug info:<br>
> gstbasesink.c(2791): gst_base_sink_is_too_late ():<br>
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0:<br>
> There may be a timestamping problem, or this computer is too slow.<br>
> WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: A<br>
> lot of buffers are being dropped.<br>
> Additional debug info:<br>
> gstbasesink.c(2791): gst_base_sink_is_too_late ():<br>
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0:<br>
> There may be a timestamping problem, or this computer is too slow.<br>
> WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: A<br>
> lot of buffers are being dropped.<br>
> Additional debug info:<br>
> gstbasesink.c(2791): gst_base_sink_is_too_late ():<br>
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0:<br>
> There may be a timestamping problem, or this computer is too slow.<br>
> Got EOS from element "pipeline0".<br>
> Execution ended after 0:00:05.221524402<br>
> Setting pipeline to PAUSED ...<br>
> Setting pipeline to READY ...<br>
> Setting pipeline to NULL ...<br>
> Freeing pipeline ...<br>
><br>
> Luckily, when I replaced ximagesink with autovideosink, the playback became<br>
> fast and smooth as before reporting:<br>
><br>
> fl@nuc3:~/ads$ gst-launch-1.0 filesrc location=621.wmv ! decodebin !<br>
> videoconvert ! autovideosink<br>
> Setting pipeline to PAUSED ...<br>
> libva info: VA-API version 0.35.0<br>
> libva info: va_getDriverName() returns 0<br>
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>
> libva info: Found init function __vaDriverInit_0_35<br>
> libva info: va_openDriver() returns 0<br>
> Pipeline is PREROLLING ...<br>
> Got context from element 'vaapidecode0': gst.vaapi.Display=context,<br>
> display=(GstVaapiDisplay)NULL;<br>
> Pipeline is PREROLLED ...<br>
> Setting pipeline to PLAYING ...<br>
> New clock: GstSystemClock<br>
> Got EOS from element "pipeline0".<br>
> Execution ended after 0:00:05.060843602<br>
> Setting pipeline to PAUSED ...<br>
> Setting pipeline to READY ...<br>
> Setting pipeline to NULL ...<br>
> Freeing pipeline ...<br>
<br>
</div></div>And this is fine since, by using autovideosink, you allow for the<br>
"vaapisink" element to get autoplugged.<br>
<span class=""><br>
> Does it mean that Video Acceleration and ximagesink are incompatible? How to<br>
> choose an optimal video sink, rather than autovideosink? I tried others like<br>
> clutter, v4l2sink. Nothing works except autovideosink.<br>
<br>
</span>An optimal sink, if you use gstreamer-vaapi, is vaapisink. Having said<br>
that, cluttersink & glimagesink shall work equally well too, nowadays.<br>
The latter with GStreamer >= 1.4 of course, and recent enough<br>
gstreamer-vaapi (git master branch).<br>
<span class=""><br>
> Which sink is actually selected by autovideosink? I am hesitant of using<br>
> autovideosink in the real C application with gst_element_factory_make<br>
> ("autovideosink", "videosnk"), because it is more tricky to map this<br>
> autovideosink into an X-window. Note this mapping is static with ximagesink<br>
> (no callbacks needed)<br>
<br>
</span>If you know your system supports VA-API, then you could use vaapisink<br>
that also supports the GstVideoOverlay interface.<br>
<div class="HOEnZb"><div class="h5"><br>
> On Wed, Sep 17, 2014 at 2:02 PM, Gwenole Beauchesne <<a href="mailto:gb.devel@gmail.com">gb.devel@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> 2014-09-17 13:51 GMT+02:00 Sergei Vorobyov<br>
>> <<a href="mailto:sergei.vorobyov@facilitylabs.com">sergei.vorobyov@facilitylabs.com</a>>:<br>
>> > While GStreamer supports the .wmv on nVidia cards, it apparently does<br>
>> > not on<br>
>> > Intel's built-in graphics cards found in Intel's NUC2820FYKH (see below:<br>
>> > the<br>
>> > same .wmv file is gst-discovered on the NUC and on a workstation with<br>
>> > the<br>
>> > Quadro FX 580 card). What are the prospects of getting fully functional<br>
>> > drivers/libraries  for Intel NUCs in the nearest future?<br>
>> ><br>
>> > Thanks!<br>
>> ><br>
>> > PS: Although Intel does not specify it, I found that the NUC2820 has the<br>
>> > Ivy<br>
>> > Bridge derived HD Graphics with a 756MHz burst core frequency<br>
>> ><br>
>> > ---------------------------------------------------------<br>
>> > fl@nuc3:~/ads$ gst-discoverer-1.0 621.wmv<br>
>> > Analyzing file:///home/fl/ads/621.wmv<br>
>> > libva info: VA-API version 0.35.0<br>
>> > libva info: va_getDriverName() returns 1<br>
>> > libva error: va_getDriverName() failed with operation<br>
>> > failed,driver_name=i965<br>
>> > Done discovering file:///home/fl/ads/621.wmv<br>
>><br>
>> This means that, a plain `vainfo' call on your nuc3 system will yield<br>
>> the same output. If so, this would mostly report an additional error<br>
>> like X11 display not available. This means that, if you have been<br>
>> connecting to nuc3 with ssh, and that the remote host has X running,<br>
>> the correct command would be DISPLAY=:0.0 vainfo, resp.<br>
>> gst-discoverer-1.0. Otherwise, initialization of the VA driver, so<br>
>> gst-discoverer-1.0 will fail finding out anything, unless you have a<br>
>> SW decoder around (gst-libav).<br>
>><br>
>> However, there normally is correct support for headless displays. So,<br>
>> if you have built gstreamer-vaapi with the VA/DRM backend too, and<br>
>> your user belongs to the "video" group, or whatever has access to<br>
>> /dev/dri/card0, this should fallback to that headless mode.<br>
>><br>
>> ><br>
>> > Topology:<br>
>> >   container: Advanced Streaming Format (ASF)<br>
>> >     video: Windows Media Video 9 Screen<br>
>> >     audio: Windows Media Audio 9<br>
>> ><br>
>> > Properties:<br>
>> >   Duration: 0:00:05.460000000<br>
>> >   Seekable: yes<br>
>> >   Tags:<br>
>> >       container format: ASF<br>
>> >       audio codec: WMA Version 9<br>
>> >       video codec: Microsoft Windows Media 9<br>
>> ><br>
>> > --------------------------------------------------------<br>
>> > sergei@wsl:~$ gst-discoverer-1.0 621.wmv<br>
>> > Analyzing file:///home/sergei/621.wmv<br>
>> > Done discovering file:///home/sergei/621.wmv<br>
>> ><br>
>> > Topology:<br>
>> >   container: Advanced Streaming Format (ASF)<br>
>> >     video: Windows Media Video 9 Screen<br>
>> >     audio: Windows Media Audio 9<br>
>> ><br>
>> > Properties:<br>
>> >   Duration: 0:00:05.460000000<br>
>> >   Seekable: yes<br>
>> >   Tags:<br>
>> >       container format: ASF<br>
>> >       audio codec: WMA Version 9<br>
>> >       video codec: Microsoft Windows Media 9<br>
>> ><br>
>> > _______________________________________________<br>
>> > gstreamer-devel mailing list<br>
>> > <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
>> > <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
>> ><br>
>><br>
>><br>
>> Regards,<br>
>> --<br>
>> Gwenole Beauchesne<br>
>> Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France<br>
>> Registration Number (RCS): Nanterre B 302 456 199<br>
>> _______________________________________________<br>
>> gstreamer-devel mailing list<br>
>> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
>> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
><br>
<br>
<br>
Regards,<br>
--<br>
Gwenole Beauchesne<br>
Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France<br>
Registration Number (RCS): Nanterre B 302 456 199<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br></div>