Bug 45859 - Не удаётся воспроизвести видео в Raspberry Pi4
Summary: Не удаётся воспроизвести видео в Raspberry Pi4
Status: CLOSED NOTABUG
Alias: None
Product: Branch p10
Classification: Unclassified
Component: gstreamer-vaapi (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-14 10:55 MSK by Алексей Родыгин
Modified: 2023-07-23 10:23 MSK (History)
4 users (show)

See Also:


Attachments
Пример ошибки (144.30 KB, video/x-matroska)
2023-04-17 10:23 MSK, Алексей Родыгин
no flags Details
вывод gst-inspect (79.99 KB, text/plain)
2023-04-17 10:32 MSK, Алексей Родыгин
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Алексей Родыгин 2023-04-14 10:55:30 MSK
Версия пакета gstreamer-vaapi-1.20.6-alt1

Шаги воспроизведения:
1) Скачать любое видео
2) $ gst-launch-1.0 -v filesrc location=video.mp4 ! qtdemux ! vaapidecodebin ! vaapisink fullscreen=true

Ожидаемый результат:
Видео воспроизводится без ошибок.

Реальный результат:
ПРЕДУПРЕЖДЕНИЕ: ошибочный конвейер: элемент «vaapidecodebin» не найден
Данное предупреждение выводится к любому элементу
Так же в некоторых случаях падает графическая оболочка.
Comment 1 Yuri N. Sedunov 2023-04-14 12:13:29 MSK
$ 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 %)
Comment 2 Алексей Родыгин 2023-04-17 10:23:02 MSK
Created attachment 12972 [details]
Пример ошибки
Comment 3 Алексей Родыгин 2023-04-17 10:25:01 MSK
Воспроизводится на системах:
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
Comment 4 Yuri N. Sedunov 2023-04-17 10:28:20 MSK
gst-inspect-1.0 то что выдает без grep vaapi?
Comment 5 Алексей Родыгин 2023-04-17 10:32:10 MSK
Created attachment 12973 [details]
вывод gst-inspect
Comment 6 Yuri N. Sedunov 2023-04-17 10:39:56 MSK
gst-inspect-1.0 -b
?
Comment 7 Алексей Родыгин 2023-04-17 10:41:18 MSK
(Ответ для Yuri N. Sedunov на комментарий #6)
> gst-inspect-1.0 -b
> ?

$ gst-inspect-1.0 -b
Файлы из чёрного списка:
  libgstpython.so
  libgstvalidatessim.so

Общее количество: 2 файла в чёрном списке
Comment 8 Yuri N. Sedunov 2023-04-17 10:45:18 MSK
$ rpm -qa|grep gst|sort
Comment 9 Алексей Родыгин 2023-04-17 10:46:22 MSK
(Ответ для 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
Comment 10 Yuri N. Sedunov 2023-04-17 10:54:04 MSK
И это всё в виртуалке?
Comment 11 Алексей Родыгин 2023-04-17 10:55:32 MSK
Да(Ответ для Yuri N. Sedunov на комментарий #10)
> И это всё в виртуалке?

Да
Comment 12 Yuri N. Sedunov 2023-04-17 11:14:16 MSK
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

А у вас?
Comment 13 Алексей Родыгин 2023-04-17 11:15:37 MSK
(Ответ для 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
Comment 14 Yuri N. Sedunov 2023-04-17 11:20:54 MSK
Значит надо проверить gstreamer-vaapi на реальном железе.
Comment 15 Алексей Родыгин 2023-04-17 12:52:25 MSK
(Ответ для Yuri N. Sedunov на комментарий #14)
> Значит надо проверить gstreamer-vaapi на реальном железе.

На реальном железе не воспроизводится.
Comment 16 Vera Blagoveschenskaya 2023-04-17 13:25:30 MSK
> VAAPI, вообще, не про виртуалки.

(Ответ для Алексей Родыгин на комментарий #15)
> На реальном железе не воспроизводится.

Закрываю, т.к. на реальном железе проблем нет.
Comment 17 Монастырский Илья 2023-07-22 11:42:44 MSK
Переоткрываю, т.к. ошибка воспроизводится на реальном стенде Raspberry Pi4

Стенд:
Raspberry Pi4 с Alt Workstation 10.1 arm64

Версия пакета: 
gstreamer-vaapi-1.20.7-alt1
Comment 18 Yuri N. Sedunov 2023-07-22 11:48:12 MSK
И чо там на вашей Пи vainfo показывает?
Comment 19 Монастырский Илья 2023-07-22 11:57:53 MSK
$ 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
Comment 20 Yuri N. Sedunov 2023-07-22 12:03:50 MSK
(Ответ для Монастырский Илья на комментарий #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

Молодец, садись, -- два.
Comment 21 logobobah@gmail.com 2023-07-23 10:23:49 MSK
(Ответ для 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 недоступны.