The Ubuntu 14.04 shipped gstreamer vaapi leaves a lot to be desired (eg hardware encoding)
Here presented is a binary build (amd64) of git://gitorious.org/vaapi/gstreamer-vaapi.git
sha1: e4ed64b7313fb8f5199b312852ecef2b3f238c15 (0.7.1pre1) and tag 0.5.8.
You might also want VAAPI library and driver binaries
This package will enable command lines like:
gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! vaapidecode \! vaapipostproc width=320 force_aspect_ratio=true ! vaapiencode_h264 \! qtmux ! filesink location=res.mp4To transcode and scale a file with the gpu hardware. This is significantly faster than software pipes and eg ffmpeg
Additionally the following patch is applied: (only 0.5.8)
diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c index 34358b8..e242134 100644 --- a/gst/vaapi/gstvaapi.c +++ b/gst/vaapi/gstvaapi.c @@ -51,7 +51,7 @@ plugin_init (GstPlugin *plugin) GST_TYPE_VAAPIUPLOAD); #endif gst_element_register(plugin, "vaapidecode", - GST_RANK_PRIMARY, + GST_RANK_PRIMARY+1, GST_TYPE_VAAPIDECODE); gst_element_register(plugin, "vaapipostproc", GST_RANK_PRIMARY,This will make decodebin / playbin et al prefer vaapi decoders above software decoders when both are available.
Steps to reproduce:
git clone git://gitorious.org/vaapi/gstreamer-vaapi.git cd gstreamer-vaapi ./autogen.sh make make deb.upstream
Version 0.7.1.pre1 files:
- 0001-Enable-multiarch-deb.patch
- gstreamer1.2-vaapi-dbg_0.7.1.pre1-1_amd64.deb
- gstreamer1.2-vaapi-doc_0.7.1.pre1-1_all.deb
- gstreamer1.2-vaapi_0.7.1.pre1-1_amd64.deb
- libgstvaapi-drm-3_0.7.1.pre1-1_amd64.deb
- libgstvaapi-glx-3_0.7.1.pre1-1_amd64.deb
- libgstvaapi-wayland-3_0.7.1.pre1-1_amd64.deb
- libgstvaapi-x11-3_0.7.1.pre1-1_amd64.deb
- libgstvaapi1.0-dev_0.7.1.pre1-1_amd64.deb
- libgstvaapi3_0.7.1.pre1-1_amd64.deb