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
2
votes
1 answer

gst-launch command to play a video using vaapi hardware acceleration

I need two gst-launch-1.0 command lines 1) The first one is simple to play a video (.mp4) without using any hardware acceleration. 2) The sencond one is to play the video (.mp4) using hardware acceleration, I am using Intel HD graphics with the i965…
adolfomir
  • 33
  • 7
2
votes
0 answers

FFMpeg libavcodec hwaccel workings

Can anyone explain how hwaccel decode, filter and encode work in FFMpeg libavcodec ? What is the big picture ? What are the major functions and structures ? Is there any difference in how VAAPI and CUDA GPUs are handled ? Any example code for…
whadhack
  • 51
  • 6
2
votes
1 answer

FFMPEG Hardware Encoding H264

I'm currently trying to use FFMPEG with Hardware/GPU Encoding with the H264 Codec. What I do is, I pipe raw data direclty into ffmpeg to output them to a udp stream. Those are my settings: var ffmpegArgs = [ '-c:v', 'rawvideo',// input…
nameless
  • 1,483
  • 5
  • 32
  • 78
1
vote
0 answers

How can I make dynamic textoverlay on a video feed quicker when the encoding and decoding is done by GPU?

I got a pipeline like the following: rtspsrc ! queue ! rtph264depay ! h264parse ! vaapidecodebin ! queue flush-on-eos=TRUE ! videorate ! video/x-raw,framerate=5/1 ! textoverlay name=textsrc ! videorate ! vaapih264enc ! rtph264pay This is being…
mn Stoner
  • 37
  • 5
1
vote
0 answers

Gstreamer zero copy dmabuf encoding

I want to encode a framebuffer I got via dmabuf into a video stream. I have a dmabuf file descriptor which contains the framebuffer. I got the filedescriptor from the intel i915 driver via ioctl VFIO_DEVICE_QUERY_GFX_PLANE. Now I want to encode it…
Xaterus
  • 21
  • 1
  • 3
1
vote
0 answers

Using ffmpeg with hardware acceleration

For a long time I have been using ffmpeg to convert mov-files taken on an iPhone to mp4 with the following command: ffmpeg -i "in.MOV" -q:v 1 "out.MP4" The result is files of good quality and relatively small volume (size). I recently found out…
Evgeny
  • 45
  • 6
1
vote
1 answer

Intel vaapi error: can't connect to X server

I am using an EC2 with Ubuntu 18.04, CPU Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz, and a Nvidia Tesla T4. It seems vainfo reports a problematic setup: error: can't connect to X server! libva info: VA-API version 1.1.0 libva info:…
user1315621
  • 3,044
  • 9
  • 42
  • 86
1
vote
1 answer

Custom FFMpeg Build with QSV, CUDA and VAAPI that can also run on other servers and directories

Since I am starting with my first build experience with FFMpeg. I want build a custom version of FFMpeg with IntelHD GPU (QSV) and Nvidia GPU (NVENC) and VAAPI support, which should also run later on other Linux (Ubuntu 18.04 and 20.04) computers…
Adem Aga
  • 11
  • 2
1
vote
0 answers

ffmpeg vaapi hardware acceleration with some videos not working

I have a problem with transcoding various videos on my Synology NAS. Some videos work, some do not. ffmpeg command: sudo /volume1/@appstore/VideoStation/bin/ffmpeg -y -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i…
Maisen1886
  • 110
  • 1
  • 10
1
vote
1 answer

How to solve a RAW stream playback problem with GStreamer and VAAPi

I am currently experiencing a small problem with GStreamer, here are more details: Configuration: Intel i7-6700 Intel HD Graphics 530 Ubuntu 18.04 LTS GStreamer1.0 VAAPI plugin I receive a UDP stream from a video source, this stream is sent in…
ValentinDP
  • 323
  • 5
  • 14
1
vote
1 answer

Why gstreamer with vaapih264enc shows "context pad peer query failed"?

I would like to use hardware encoding to compress a raw video file using gstreamer and vaapi. I am getting Could not initialize supporting library, which does not allow encoder to open. Possibly context pad peer query failed is the root cause for…
sjcomp
  • 177
  • 2
  • 9
1
vote
1 answer

Render VAAPI surface with using OpenGL?

My project is to use the VAAPI hardware acceleration linked with FFmpeg. I managed to decode with VAAPI however I would like to be able to display the video coming out of VAAPI using OpenGL. Are there functions that allow this? I know that for that…
HellBlood
  • 31
  • 1
  • 4
1
vote
0 answers

Implementing FFMpeg -r and -vf like feature using libav* libraries?

Wondering if anyone can offer some pointers on how use FFMpeg libav* libraries to implement the following? Specially the -r and -vf options? ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD129 -hwaccel_output_format vaapi -i my.mp4 -vf…
whadhack
  • 51
  • 6
1
vote
1 answer

How to convert from AV_PIX_FMT_VAAPI to AV_PIX_FMT_YUV420 using FFMPEG sws_scaler api?

I am using below code to convert from VAAPI to YUV420 format. AVFrame* src, * dst; SwsContext* conversion_context_ = sws_getContext(videoDecoder_->width(), videoDecoder_->height(), AV_PIX_FMT_VAAPI,scaler_->getWidth(),…
Harshil Makwana
  • 155
  • 2
  • 13
1
vote
1 answer

Docker Swarm Generic Device Resource Connection

Docker Help Request: I am trying to connect a container within our Swarm to a device in /dev. The connection works correctly via device mapping when running in a docker container, however we are unable to connect to the device within our Swarm…
David Manpearl
  • 12,362
  • 8
  • 55
  • 72