Ubuntu 17.10 (Arty) gstreamer конвейер vaapi проблемы с расшифровкой hevc (h265)

Я установил все плагины gstreamer и видеоадаптеры vaapi (Intel i965) на встроенную платформу Udoo. Аппаратное ускорение видео отлично работает при воспроизведении содержимого h264, однако при попытке воспроизведения содержимого h265 (hevc) становится немного странным.

Содержимое, которое я пытаюсь воспроизвести, будет правильно воспроизводиться с помощью mpv. Однако с gst-launch-1.0, похоже, проблема синхронизации плагинов. Содержимое представляет собой видео только, без присутствия аудио в формате контейнера mp4.

Когда вы просто пытаетесь воспроизвести контент с помощью playbin, видео-макрос блокируется вокруг любого движения. С тех пор я закончил трубопровод следующим образом:

$ 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

С предыдущим конвейером видео будет отображаться правильно примерно в 40% случаев. Остальные 60% будут отображать с блокировкой макроса движения. По-видимому, каждый раз, когда я добавлял какую-то задержку, был лучший шанс на правильный рендеринг. Nothings выделялись в выходах журнала gst-launch-1.0, когда они отображались правильно, и когда они отображались некорректно.

Выходные данные регистрации следующие: сначала для неправильной рендеринга (удаление раздела 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 ...

Теперь для правильной рендеринга:

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 ...

Есть три вопроса. Что нужно искать в протоколировании вывода, чтобы указать на проблему. В настоящее время используется «GST_DEBUG = 2». Есть ли больше крючков задержки, которые могут быть добавлены в конвейер, или лучший трубопровод в целом, чтобы убедиться, что он повышает стабильность. Наконец, будет ли предыдущая версия Ubuntu (17.04 или 16.04) и ее версия gstreamer не иметь этих проблем.

Большое спасибо,

0
задан 30 November 2017 в 03:41

0 ответов

Другие вопросы по тегам:

Похожие вопросы: