Версия пакета gstreamer-vaapi-1.20.6-alt1 Шаги воспроизведения: 1) Скачать любое видео 2) $ gst-launch-1.0 -v filesrc location=video.mp4 ! qtdemux ! vaapidecodebin ! vaapisink fullscreen=true Ожидаемый результат: Видео воспроизводится без ошибок. Реальный результат: ПРЕДУПРЕЖДЕНИЕ: ошибочный конвейер: элемент «vaapidecodebin» не найден Данное предупреждение выводится к любому элементу Так же в некоторых случаях падает графическая оболочка.
$ gst-inspect-1.0 |grep vaapi vaapi: vaapidecodebin: VA-API Decode Bin vaapi: vaapih264dec: VA-API H264 decoder vaapi: vaapih264enc: VA-API H264 encoder vaapi: vaapimpeg2dec: VA-API MPEG2 decoder vaapi: vaapipostproc: VA-API video postprocessing vaapi: vaapisink: VA-API sink vaapi: vaapivc1dec: VA-API VC1 decoder $ gst-launch-1.0 -v filesrc location=video.mp4 ! qtdemux ! vaapidecodebin ! vaapisink Установка конвейера в состояние PAUSED… Подготовка конвейера (PREROLL)… Получен контекст из элемента «vaapisink0»: gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayWayland\)\ vaapidisplaywayland0", gst.vaapi.Display.GObject=(GstObject)"\(GstVaapiDisplayWayland\)\ vaapidisplaywayland0"; /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0: max-size-time = 0 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0: max-size-buffers = 1 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0: max-size-bytes = 0 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.2, profile=(string)high, codec_data=(buffer)01640020ffe1001f27640020ac1316c0f0117ef016a020202606000bb80002ee0bdef83e1108dc01000428ee1f2c, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.2, profile=(string)high, codec_data=(buffer)01640020ffe1001f27640020ac1316c0f0117ef016a020202606000bb80002ee0bdef83e1108dc01000428ee1f2c, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.2, profile=(string)high, codec_data=(buffer)01640020ffe1001f27640020ac1316c0f0117ef016a020202606000bb80002ee0bdef83e1108dc01000428ee1f2c, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709 Перераспределение латентности… /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, views=(int)2, chroma-site=(string)jpeg, colorimetry=(string)bt601 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)960, height=(int)540, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)60000/1001 Конвейер подготовлен (PREROLLED)… Установка конвейера в состояние PLAYING… Перераспределение латентности… New clock: GstSystemClock 0:00:17.0 / 0:00:29.5 (57,6 %)
Created attachment 12972 [details] Пример ошибки
Воспроизводится на системах: education-x86-64 education-x86-64-kde workstation-x86-64 kworkstation-x86-64 server-x86-64 $ gst-inspect-1.0 |grep vaapi - ничего не выдаёт Установленные пакеты: gstreamer-vaapi и gstreamer1.0-utils
gst-inspect-1.0 то что выдает без grep vaapi?
Created attachment 12973 [details] вывод gst-inspect
gst-inspect-1.0 -b ?
(Ответ для Yuri N. Sedunov на комментарий #6) > gst-inspect-1.0 -b > ? $ gst-inspect-1.0 -b Файлы из чёрного списка: libgstpython.so libgstvalidatessim.so Общее количество: 2 файла в чёрном списке
$ rpm -qa|grep gst|sort
(Ответ для Yuri N. Sedunov на комментарий #8) > $ rpm -qa|grep gst|sort gst-devtools-1.20.6-alt1.x86_64 gst-libav-1.20.6-alt1.x86_64 gst-plugins-bad1.0-1.20.6-alt1.x86_64 gst-plugins-base1.0-1.20.6-alt1.x86_64 gst-plugins-good1.0-1.20.6-alt1.x86_64 gst-plugins-good1.0-qt5-1.20.6-alt1.x86_64 gst-plugins-libcamera1.0-0.0.4-alt1.x86_64 gst-plugins-ugly1.0-1.20.6-alt1.x86_64 gstreamer1.0-1.20.6-alt1.x86_64 gstreamer1.0-utils-1.20.6-alt1.x86_64 gstreamer-editing-services-1.20.6-alt1.x86_64 gstreamer-vaapi-1.20.6-alt1.x86_64 libgst-devtools-1.20.6-alt1.x86_64 libgst-plugins1.0-1.20.6-alt1.x86_64 libgst-plugins1.0-gir-1.20.6-alt1.x86_64 libgstreamer1.0-1.20.6-alt1.x86_64 libgstreamer1.0-gir-1.20.6-alt1.x86_64 libgst-rtsp-server-1.20.6-alt1.x86_64 python3-module-gst1.0-1.20.6-alt1.x86_64 qt5-phonon-backend-5-gstreamer-4.10.0-alt1.x86_64
И это всё в виртуалке?
Да(Ответ для Yuri N. Sedunov на комментарий #10) > И это всё в виртуалке? Да
VAAPI, вообще, не про виртуалки. $ vainfo Trying display: wayland libva info: VA-API version 1.17.0 libva info: Trying to open /usr/lib64/dri/r600_drv_video.so libva info: Found init function __vaDriverInit_1_17 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.17 (libva 2.17.0) vainfo: Driver version: Mesa Gallium driver 23.0.2 for KAVERI (, LLVM 13.0.1, DRM 2.50, 5.14.0.291-centos-alt1.el9) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileNone : VAEntrypointVideoProc А у вас?
(Ответ для Yuri N. Sedunov на комментарий #12) > VAAPI, вообще, не про виртуалки. > > $ vainfo libva info: VA-API version 1.12.0 libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) vaInitialize failed with error code -1 (unknown libva error),exit
Значит надо проверить gstreamer-vaapi на реальном железе.
(Ответ для Yuri N. Sedunov на комментарий #14) > Значит надо проверить gstreamer-vaapi на реальном железе. На реальном железе не воспроизводится.
> VAAPI, вообще, не про виртуалки. (Ответ для Алексей Родыгин на комментарий #15) > На реальном железе не воспроизводится. Закрываю, т.к. на реальном железе проблем нет.
Переоткрываю, т.к. ошибка воспроизводится на реальном стенде Raspberry Pi4 Стенд: Raspberry Pi4 с Alt Workstation 10.1 arm64 Версия пакета: gstreamer-vaapi-1.20.7-alt1
И чо там на вашей Пи vainfo показывает?
$ vainfo libva info: VA-API version 1.16.0 libva info: Trying to open /usr/lib64/dri/vc4_drv_video.so libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
(Ответ для Монастырский Илья на комментарий #19) > $ vainfo > libva info: VA-API version 1.16.0 > libva info: Trying to open /usr/lib64/dri/vc4_drv_video.so > libva info: va_openDriver() returns -1 > vaInitialize failed with error code -1 (unknown libva error),exit Молодец, садись, -- два.
(Ответ для Yuri N. Sedunov на комментарий #20) > (Ответ для Монастырский Илья на комментарий #19) > > $ vainfo > > libva info: VA-API version 1.16.0 > > libva info: Trying to open /usr/lib64/dri/vc4_drv_video.so > > libva info: va_openDriver() returns -1 > > vaInitialize failed with error code -1 (unknown libva error),exit > > Молодец, садись, -- два. Поясните подробнее. Я установил все необходимые пакеты, но аппаратного ускорения видео нет. Кодеки vaspih265dec и vaapih264h недоступны.