no element "vaapih264enc" in DLStreamer 2023.0 version

125 views Asked by At

I would like to encode a live stream to H264.

I am running DLStreamer using Docker container using Windows. DLStreamer stopped supporting GPL encoders like x264enc, so we need to use HW supported encoders VAAPI. My computer has intel(R) UHD Graphics driver (latest) enter image description here.

and this is the command I used to create docker container

docker run -u 0 -it --privileged --net=host --device /dev/dri   -v ~/.Xauthority:/home/dlstreamer/.Xauthority -v /tmp/.X11-unix -e DISPLAY=$DISPLAY -v /dev/bus/usb -v D:\Docker\DLStreamer:/data/ -p 8081:8081 --name dlstreamer --rm intel/dlstreamer:devel /bin/bash

This is the code I am trying to run

gst-launch-1.0 rtspsrc location= ##LOCATION## retry=20 latency=2000 buffer-mode=auto ! decodebin ! queue ! videoconvert n-threads=4 ! videoscale n-threads=4 ! videorate ! video/x-raw, format=BGRx, width=960, height=576, framerate=1/5 ! queue ! vaapih264enc ! h264parse ! hlssink playlist-root=http://localhost:89 playlist-location=/data/HLS/playlist.m3u8 location=/data/HLS/segment%08d.ts playlist-length=100 max-files=100 target-duration=15

I am supposed to see the VAAPIH264enc automatically but all I am getting is this error gi.repository.GLib.GError: gst_parse_error: no element "vaapih264enc" (1)

Even if I gst-inspect-1.0 | grep vaap I can't see the encoders. I can only see the following enter image description here

I tried clearning the gstreamer cache, updating the environment variables too, but not working.

A little guidance would be much appretiated.

1

There are 1 answers

2
Iffa_Intel On

Intel DL Streamer does not officially support Windows.

This documentation lists the operating systems that are supported in the installation and requirements