我想将直播流编码为 H264。
我正在使用 Windows 使用 Docker 容器运行 DLStreamer。 DLStreamer 停止支持 x264enc 等 GPL 编码器,因此我们需要使用硬件支持的编码器 VAAPI。我的电脑有 intel(R) UHD 显卡驱动程序(最新)。
这是我用来创建 docker 容器的命令
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
这是我正在尝试运行的代码
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
我应该自动看到 VAAPIH264enc 但我得到的只是这个错误
gi.repository.GLib.GError: gst_parse_error: no element "vaapih264enc" (1)
即使我
gst-inspect-1.0 | grep vaap
我也看不到编码器。我只能看到下面的
我尝试清除 gstreamer 缓存,也更新环境变量,但不起作用。
非常感谢一些指导。
英特尔 DL Streamer 未正式支持 Windows。
本文档列出了安装中支持的操作系统和要求