Ubuntu 17.10 (Arty) Problemas de plug-in do GStreamer Pipeline Vaapi com decodificação hevc (h265)

0

Instalei todos os plug-ins gstreamer e os drivers de vídeo vaapi (Intel i965) em uma plataforma Udoo integrada. A aceleração de vídeo por hardware funciona muito bem ao reproduzir conteúdo h264, no entanto, fica um pouco estranho ao tentar reproduzir conteúdo h265 (hevc).

O conteúdo que estou tentando reproduzir será reproduzido corretamente com o mpv. No entanto, com o gst-launch-1.0, aparentemente há um problema de sincronização de link de plug-in. O conteúdo é somente vídeo, sem áudio presente, em um formato de contêiner mp4.

Ao tentar reproduzir o conteúdo usando playbin, a macro de vídeo bloqueia qualquer movimento. Desde então, quebrei o pipeline da seguinte forma:

$ gst-launch-1.0 -v filesrc do-timestamp=true typefind=true location=channel_39_1.mp4 ! video/quicktime ! qtdemux name=d  d.video_0 ! queue leaky=no min-threshold-time=60000000 ! video/x-h265 ! h265parse ! video/x-h265 ! vaapidecodebin ! video/x-raw ! xvimagesink sync=false render-delay=60000000

Com o pipeline anterior, o vídeo será renderizado corretamente em aproximadamente 40% do tempo. Os outros 60% serão processados com o bloqueio de macros de movimento. Aparentemente, toda vez que eu adicionava algum tipo de atraso, havia uma chance melhor de renderização correta. Nada se destacou nas saídas de log do gst-launch-1.0 quando foi renderizado corretamente vs. quando foi processado incorretamente.

As saídas de log são as seguintes, primeiro para renderização incorreta (removendo a seção codec_data):

Setting pipeline to PAUSED ...
0:00:00.333309555 [336m10121[00m 0x5586258b6810 [31;01mERROR  [00m [00m           gldisplay gstgldisplay_wayland.c:130:gst_gl_display_wayland_new:[00m Failed to open Wayland display connection.
0:00:00.577044813 [336m10121[00m 0x5586258b6810 [33;01mWARN   [00m [00m             basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<filesrc0>[00m pad not activated yet
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-time = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-buffers = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-bytes = 0
Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/quicktime
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:sink: caps = video/quicktime
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:video_0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:46.320345407 [336m10121[00m 0x558625897720 [33;01mWARN   [00m [00m         xvimagesink xvimagesink.c:554:gst_xv_image_sink_handle_xevents:<xvimagesink0>[00m error: Output window was closed
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:45.619845055
Setting pipeline to PAUSED ...
0:00:46.331608140 [336m10121[00m 0x558625880590 [33;01mWARN   [00m [00m         xvimagesink xvimagesink.c:1008:gst_xv_image_sink_show_frame:<xvimagesink0>[00m could not output image - no window
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Agora, para renderização correta:

Setting pipeline to PAUSED ...
0:00:00.333618412 [332m10159[00m 0x55ad114aa810 [31;01mERROR  [00m [00m           gldisplay gstgldisplay_wayland.c:130:gst_gl_display_wayland_new:[00m Failed to open Wayland display connection.
0:00:00.567603667 [332m10159[00m 0x55ad114aa810 [33;01mWARN   [00m [00m             basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<filesrc0>[00m pad not activated yet
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-time = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-buffers = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-bytes = 0
Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/quicktime
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:sink: caps = video/quicktime
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main, 
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:40.524490050 [332m10159[00m 0x55ad1148b720 [33;01mWARN   [00m [00m         xvimagesink xvimagesink.c:554:gst_xv_image_sink_handle_xevents:<xvimagesink0>[00m error: Output window was closed
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:39.821224748
Setting pipeline to PAUSED ...
0:00:40.536643378 [332m10159[00m 0x55ad11474590 [33;01mWARN   [00m [00m         xvimagesink xvimagesink.c:1008:gst_xv_image_sink_show_frame:<xvimagesink0>[00m could not output image - no window
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Existem três perguntas. O que há para procurar na saída de registro para ajudar a apontar para um problema. Atualmente usando "GST_DEBUG = 2". Há mais ganchos de atraso que podem ser adicionados ao pipeline, ou um pipeline melhor em geral, para ver se aumenta a estabilidade. Por fim, uma versão anterior do Ubuntu (17.04 ou 16.04) e sua versão do gstreamer não teriam esses problemas.

Muito obrigado,

    
por davroslyrad 30.11.2017 / 00:41

0 respostas