Bug 51146 - Невозможно воспроизвести видео формата H.264 в контейнере MP4 на устройствах с Nvidia при помощи Gstreamer.
Summary: Невозможно воспроизвести видео формата H.264 в контейнере MP4 на устройствах ...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gstreamer-vaapi (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-14 20:11 MSK by Savelev Pavel
Modified: 2024-08-14 20:11 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Savelev Pavel 2024-08-14 20:11:35 MSK
Версия пакетов с ошибкой: 

gstreamer1.0-1.24.6-alt1
gstreamer1.0-utils-1.24.6-alt1
gstreamer-vaapi-1.24.6-alt1
Версия драйвера NVIDIA: 550.107.02

Стенды с ошибкой:

education-10.2-x86-64-xfce, обновлённый до Сизиф.
education-10.2-x86-64-kde, обновлённый до Сизиф.
kworkstation-10.3-x86-64, обновлённый до Сизиф
workstation-10.2-x86-64, обновлённый до Сизиф.

Шаги для воспроизведения:

1. Установить пакеты:
 $ apt-get install gstreamer-vaapi gstreamer1.0-utils

2. Воспроизвести в полноэкранном режиме видео формата H.264 в контейнере MP4:
 $ gst-launch-1.0 -v filesrc location=video.mp4 ! qtdemux ! vaapidecodebin ! vaapisink fullscreen=true

Ожидаемое поведение: корректное воспроизведение видео.

Реальное поведение: воспроизведение видео падает с ошибкой.

В сессии Wayland (KDE) при попытке запуска в полноэкранном режиме процесс падает с ошибкой SIGSEGV. Вывод при запуске через gdb:

Thread 32 "queue0:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc6ffd6c0 (LWP 11895)]
0x00007ffff6cadfa0 in wl_proxy_get_version () from /lib64/libwayland-client.so.0

Если попробовать запустить без параметра fullscreen=true, то видео воспроизводится корректно.

При попытке запуска видео в сессии X11, видео не запускается ни в полноэкранном режиме, ни в окне со следующей ошибкой:

ОШИБКА: из элемента /GstPipeline:pipeline0/GstVaapiSink:vaapisink0: Internal error: could not render surface
Дополнительная отладочная информация:
../gst/vaapi/gstvaapisink.c(1541): gst_vaapisink_show_frame_unlocked (): /GstPipeline:pipeline0/GstVaapiSink:vaapisink0
ОШИБКА: конвейер не хочет подготавливаться (PREROLL).
Установка конвейера в состояние NULL…
ОШИБКА: из элемента /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Дополнительная отладочная информация:
../gst/isomp4/qtdemux.c(7423): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason error (-5)
ОШИБКА: конвейер не хочет подготавливаться (PREROLL).
ОШИБКА: из элемента /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0: Internal data stream error.
Дополнительная отладочная информация:
../plugins/elements/gstqueue.c(1035): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:queue0:
streaming stopped, reason error (-5)
ОШИБКА: конвейер не хочет подготавливаться (PREROLL).
Освобождение конвейера…

На устройствах с графическим чипом от AMD или Intel видео воспроизводятся корректно.

Ошибка также воспроизводится на системе, обновлённой до P11.

Версии пакетов:
gstreamer1.0-1.24.3-alt1
gstreamer1.0-utils-1.24.3-alt1
gstreamer-vaapi-1.24.3-alt1
Версия драйвера NVIDIA: 550.90.07