Questions tagged [vaapi]

The cross-platform VA API enables and provides access to hardware-accelerated video processing, using hardware graphics processing units (GPU) to accelerate video processing.

The VA API interface offers end-user software, such as VLC media player or GStreamer, access to available video acceleration hardware, such a PureVideo or Unified Video Decoder and make use of it.

VA API video decode/encode interface is platform and window system independent but is today primarily targeted at Direct Rendering Infrastructure (DRI) in X Window System on Unix-like operating systems (including GNU/Linux, FreeBSD, Solaris), and Android, however it can potentially also be used with direct framebuffer and graphics sub-systems for video output. Accelerated processing includes support for video decoding, video encoding, subpicture blending, and rendering.

The VA API specification was originally designed by Intel for its GMA (Graphics Media Accelerator) series of GPU hardware with the specific purpose of some day fully replacing the XvMC standard as the default Unix multi-platform equivalent of Microsoft Windows DirectX Video Acceleration (DxVA) API, but today the API is no longer limited to only GPUs nor to Intel specific hardware. Other hardware and manufacturers can freely use this open standard API for hardware accelerated video processing with their own hardware without paying a royalty fee.

Video Acceleration API (Wikipedia article)

60 questions
1
vote
0 answers

Video streaming with GStreamer + vaapi

I'm trying to do compress webcam image with vaapi***enc and stream the image with UDP protocol. Are there any good samples or references ? All of examples I could find don't try both of vaapi and UDP video streaming at the same time. On the other…
Pythoner
  • 271
  • 2
  • 9
1
vote
0 answers

GStreamer in Virtualbox: libva info: va_openDriver() returns -1

I am using GStreamer 1.2.4 in a Virtualbox 5.0.4. When I start a simple pipeline (like videotestsrc ! autovideosink), I am getting an error about problems with graphical hardware acceleration (va_openDriver() returns -1). How can I make GStreamer…
1
vote
1 answer

eglCreateImageKHR returning EGL_BAD_ATTRIBUTE error

I have implemented hardware decoding on Linux using VAAPI via FFmpeg. Since I have an OpenGL application, I am converting the decoded VAAPI surfaces to OpenGL textures using vaCopySurfaceGLX. This is working fine except that there is a copy (on the…
CD83
  • 251
  • 3
  • 9
1
vote
1 answer

Encoding of two full hd streams in Linux + GPU with Intel HD4000 / VA API / FFMPEG / OpenGL

i want to encode/stream two full hd streams in realtime from my laptop to a remote location using linux/xorg on the host. VA API for this i've been playing with the VA API but the performance is pretty bad with 5.59 fps (see paste…
qknight
  • 866
  • 10
  • 23
1
vote
0 answers

VA-API can't run in a VMware Ubuntu instance

My system is a Ubuntu 15.10 running in VMware Workstation 12.0.1 on a Windows 10 host and I'm trying to run a program which relies on VAAPI, but when it gets to the initializing VAAPI it returns an error: libva info: VA-API version 0.38.0 libva…
Gino
  • 61
  • 2
  • 4
1
vote
1 answer

GStreamer Pipeline problems when using appsrc and vaapiencode_h264 plugin

I am working on an app that accepts Opencv frames (originated via opencv camera Api) and tries to send those frames into the network after encoding them to H264 frames. For this project I was asked to perform the encoding via hardware. I used the…
Varun Vijaykumar
  • 355
  • 6
  • 18
1
vote
0 answers

WARNING: erroneous pipeline: no element "vaapidecode"

when I run this line gst-launch filesrc location=source.mp4 ! decodebin2 ! ffmpegcolorspace ! video/x-raw-rgb ! vaapidecode ! avimux ! filesink location=result-rgb.avi I got this error WARNING: erroneous pipeline: no element "vaapidecode"
0
votes
0 answers

Pick 2 lang stream and one video ffmpeg

Please help me. I have try alot of diffrent code to get this to work, but i can't fix it. So now im going to try to get pro help from you :) I use this code, it works perfect, but it select all audio stream from eng and swe. How can i get only ony…
Gwildor
  • 1
  • 1
0
votes
0 answers

How to use gstreamer vaapi download gpu frame to mainmemory

I have a problem with gstreamer vaapi plugins.I use like this: rtspsrc rtph265depay h265parse avdec_h265 videosink.And videosink is a gstelement.This code works well.But I want use vaapih265dec to decode.Then I can't get the gpu frame.So,how could i…
0
votes
0 answers

ffmpeg vaapi (intel) hardware decode, drawbox, hardware encode

So I am running a go2rtc server and I'm receiving a rtsp stream from a camera and I want to draw a box on top of the video. The system has a Pentium Silver J5005 with iGPU. From what I understand I should be able to use hwmap instead of…
Tom
  • 653
  • 1
  • 8
  • 15
0
votes
0 answers

Video is stuttering when connecting vaapi decoder to v4l2sink in gstreamer?

When I connect a vaapi decoder to v4l2sink the result is not as expected, same happens if I use autovideosink, I know for this I have to use vaapisink and it is working as expected, but is there a solution for v4l2sink? Can someone explain me the…
Chris
  • 1
  • 2
0
votes
1 answer

vaapi Surface to openGl texture

I got video frames decoded with vaapi/ffmpeg into a VASurface. Now I want to render them using an OpenGL texture. I was able to load the frames into software (with vaDeriveImage und vaMapBuffer) and update a texture with the received data. But that…
Berni
  • 13
  • 4
0
votes
1 answer

How to hardware decode a h265 video, lower resolution and fps and pass on as raw video in yuv420 format

The following ffmpeg command decodes a h265 rtsp video stream in hardware using qsv, lowers resolution from 4k to 1080p, fps from 20 to 5 and tries to save the video as rawvideo using the pix_fmt yuv420p. ffmpeg -hide_banner -loglevel warning…
brujoand
  • 815
  • 8
  • 15
0
votes
0 answers

how to specify profile when using ffmpeg with vaapi hardware encoder

When I use ffmpeg and vaapi encoder, I know I can specify "profile" in a commandline: ffmpeg ... -i input.wmv -c:v h264_vaapi -profile:v PROFILE_NUMBER output.mp4 Since this I am using vaapi, I know I need to take a look at what kind of profile…
0
votes
1 answer

H264 decode always latency one frame

Encoder encode a video (IDR P P P ...) and send to decoder and display it in real time, and I noticed encoder send i th frame but decoder display i-1 th frame. I know p frame need to be removed from ref list so it can be removed from decode picture…
Samuel
  • 803
  • 8
  • 17