Попытка отобразить видео H264 из пространства браузера, используя mpv - PullRequest
1 голос
/ 13 февраля 2020

В настоящее время я работаю над браузером QT, использующим MPV для отображения видео. По личным вопросам мне нужно отображать видео вне поверхности, разрешенной страницей браузера. Таким образом, видео должно быть обрезано внизу страницы. По ряду причин видео ускоряется аппаратным ускорением видео.

Я пытался запустить видео с помощью команды mpv:

DISPLAY=:0 mpv --vo vaapi --vd-lavc-o=threads=1 --sws-scaler=fast-bilinear --vd-lavc-threads=1 --vd-lavc-fast=yes --cache=no --cache-backbuffer=0 --cache-default=no --cache-initial=0 --cache-secs=0 --really-quiet --no-input-default-bindings --demuxer-lavf-probesize=512000 --a60hz src19.sdp,src20.sdp,src21.sdp,src22.sdp,src23.sdp,src24.sdp,src26.sdp,src27.sdp,src28.sdp,src29.sdp,src30.sdp,src31.sdp,src32.sdp,src33.sdp --aspect 5:4 --geometry 720x576+240+1100 /tmp/mpv-sdp/src03.sdp

Параметр геометрии определяет виджет x высота + posX + posY. Видео отображается в браузере, но posy или posX видео, кажется, выдвинуты, чтобы уместиться на дисплее.

Вот журналы команды:

start measure_main
Feature above-60Hz : AUTO DETECTION
Nom SDP : src05.sdp =?= src19.sdp?
Nom SDP : src05.sdp =?= src20.sdp?
Nom SDP : src05.sdp =?= src21.sdp?
Nom SDP : src05.sdp =?= src22.sdp?
Nom SDP : src05.sdp =?= src23.sdp?
Nom SDP : src05.sdp =?= src24.sdp?
Nom SDP : src05.sdp =?= src26.sdp?
Nom SDP : src05.sdp =?= src27.sdp?
Nom SDP : src05.sdp =?= src28.sdp?
Nom SDP : src05.sdp =?= src29.sdp?
Nom SDP : src05.sdp =?= src30.sdp?
Nom SDP : src05.sdp =?= src31.sdp?
Nom SDP : src05.sdp =?= src32.sdp?
Nom SDP : src05.sdp =?= src33.sdp?
start measure
avformat_open_input
avformat_find_stream_info 0
add_new_streams
demux_get_num_stream
Measure : 0 / 0 / 90000 (1000000)
TEMPS DEMARRAGE depuis MAIN : 0.090000 s (time used)
TEMPS DEMARRAGE depuis demux_open() : 0.090000 s (time used)
TEMPS DEMARRAGE depuis MAIN : 1.000000 s (wallclock time)
TEMPS DEMARRAGE depuis demux_open() : 1.000000 s (wallclock time)
vdpau_video: VdpPresentationQueueBlockUntilSurfaceIdle(): status 2: The display was pre-empted, or a fatal error occurred.
vdpau_video: VdpPresentationQueueBlockUntilSurfaceIdle(): status 3: An invalid handle value was provided.
vdpau_video: VdpPresentationQueueBlockUntilSurfaceIdle(): status 3: An invalid handle value was provided.
vdpau_video: VdpPresentationQueueBlockUntilSurfaceIdle(): status 3: An invalid handle value was provided.
vdpau_video: VdpPresentationQueueBlockUntilSurfaceIdle(): status 3: An invalid handle value was provided.

У меня есть 2 разных клиента, оба с CentOS 7. Один работает нормально, а другой не принимает видео, которое будет отключено. Основное различие между этими двумя заключается в оконном менеджере и графическом процессоре: - Compiz с Intel GPU работает нормально - Metacity с Nvidia GPU не работает

В чем может быть проблема, приводящая к тому, что vdpau_video сообщает об ошибке и выводит pu sh видео из геометрии называется?

...