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) .
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
I tried clearning the gstreamer cache, updating the environment variables too, but not working.
A little guidance would be much appretiated.
Intel DL Streamer does not officially support Windows.
This documentation lists the operating systems that are supported in the installation and requirements