Skip to main content
Senior
August 14, 2026
Solved

Playing videos in 1080p via gstreamer - Lagging

  • August 14, 2026
  • 11 replies
  • 161 views

Hi!

 

I tried to stream a 1080p (big buck Bunny) video with gstreamer. It seems that it was falling back to software and starts lagging.

Are there any known issues with gstreamer for the MP2 i should be aware of? I have not used the latest OpenSTLinux version yet. I'm using v26.02.18.

 

Still: kmscube is working perfectly in 1080p. So, I assume the the Vulkan/OpenGL ES is working properly as it should.

Best answer by Windows

Hi ​@Erwan SZYMANSKI 

 

Here is your feedback:

This command works perfect. No lag, 1080p, full screen. 

gst-launch-1.0 filesrc location=./Big_Buck_Bunny_1080_10s_10MB.mp4 ! queue ! qtdemux ! queue ! h264parse ! queue ! v4l2slh264dec ! video/x-raw, width=1920, height=1080, framerate=60/1 ! queue ! waylandsink fullscreen=true

But running only with gst-launch-1.0 and without the flags. That will cause lagging.

Anyway. When I run the long commando. I gives a smooth appearance of the video. The only error it reports is:

gst_wl_window_ensure_fullscreen reports assertion 'self' failed

11 replies

Erwan SZYMANSKI
ST Technical Moderator
August 18, 2026

Hello ​@Windows ,
Can you please share:

  • The board on which you make your test ? ST one or a custom one ?
  • The video itself in attachment if possible ?
  • The command you use to play the video and the logs if there are ?

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
WindowsAuthor
Senior
August 18, 2026

Hi ​@Erwan SZYMANSKI 

 

Here I found the video: https://test-videos.co.uk/bigbuckbunny/mp4-h264 10MiB filen dvs denna https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/1080/Big_Buck_Bunny_1080_10s_10MB.mp4

 

I played the video with the following command : gst-play-1.0 Big_Buck_Bunny_1080_10s_10MB.mp4

 

It's a custom board that uses the same HDMI setup as DK. Kmscube at 1080p is working perfectly in 60 FPS. No problem with GPU.

Erwan SZYMANSKI
ST Technical Moderator
August 19, 2026

Hello ​@Windows ,
Can you tell me what FPS do you get with the following command ? 

gst-launch-1.0 playbin uri=file:///home/root/Big_Buck_Bunny_1080_10s_10MB.mp4 video-sink="fpsdisplaysink text-overlay=false video-sink=\"waylandsink\ fullscreen=true\"" -v

(you can replace the path of the Big Bunny video that is under /home/root on my side).

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
WindowsAuthor
Senior
August 19, 2026

Here is the output ​@Erwan SZYMANSKI 

 

~ $ gst-launch-1.0 -v playbin uri=file:///Big_Buck_Bunny_1080_10s_10MB.mp4 video-sink="fpsdisplaysink text-overlay=false video-sink=\"waylandsink\ fullscreen=true\""
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: force-sw-decoders = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = file:///Big_Buck_Bunny_1080_10s_10MB.mp4
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstFileSrc\)\ source"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime, variant=(string)iso
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22cfdf8f800, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slh264dec:v4l2slh264dec0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
Redistribute latency...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slh264dec:v4l2slh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22cfdf8f800, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-bytes = 8388608
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: always-ok = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22cfdf8f800, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe1001b6764002aacc8501e0089f97011000003000100000300780f18319601000668e93844b22c, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: active = true
/GstPlayBin:playbin0/GstInputSelector:inputselector0: active-pad = "\(GstSelectorPad\)\ sink_0"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0: sync = true
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:video_sink.GstProxyPad:proxypad6: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:sink.GstProxyPad:proxypad10: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstVideoConvert:vdconv.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstDeinterlace:deinterlace.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad9: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstQueue:vqueue.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstQueue:vqueue.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin.GstGhostPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:src.GstProxyPad:proxypad11: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstDeinterlace:deinterlace.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstVideoConvert:vdconv.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:sink.GstProxyPad:proxypad7: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:video_sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_0.GstProxyPad:proxypad5: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoBalance:videobalance.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv2.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:src.GstProxyPad:proxypad8: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv2.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoBalance:videobalance.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, 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, framerate=(fraction)60/1
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ /\ AVC", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668;
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ /\ AVC", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A";
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0: sync = true
Redistribute latency...
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)2770560;
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1143360;
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2, dropped: 2, fps: 3.55, drop rate: 3.55
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1131840;
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1122720;
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2, dropped: 3, fps: 0.00, drop rate: 1.48
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1109280;
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1095840;
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1037760;
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2, dropped: 4, fps: 0.00, drop rate: 0.72
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0:
There may be a timestamping problem, or this computer is too slow.
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = taglist, video-codec=(string)"H.264\ \(High\ Profile\)", maximum-bitrate=(uint)8394000, bitrate=(uint)8382668, container-format=(string)"ISO\ MP4/M4A", minimum-bitrate=(uint)1037280;
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3, dropped: 4, current: 0.35, average: 0.54
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0:
There may be a timestamping problem, or this computer is too slow.
Redistribute latency...
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4, dropped: 4, current: 0.17, average: 0.35
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0/GstWaylandSink:waylandsink0:
There may be a timestamping problem, or this computer is too slow.
Got EOS from element "playbin0".
Execution ended after 0:00:15.309755882
Setting pipeline to NULL ...
Freeing pipeline ...
~ $
cartergray733
Explorer II
August 20, 2026

Since kmscube works at 1080p, the GPU is likely fine. check whether GStreamer is using the hardware decoder or falling back to software, and test with the latest OpenSTLinux version.

WindowsAuthor
Senior
August 20, 2026

Since kmscube works at 1080p, the GPU is likely fine. check whether GStreamer is using the hardware decoder or falling back to software, and test with the latest OpenSTLinux version.

Hi ​@cartergray733 

Yes! The GPU works perfect!

I think the same as you. Gstreamer is falling back to software.

I'm using OpenSTLinux v26.02.18

Erwan SZYMANSKI
ST Technical Moderator
August 20, 2026

Hello ​@Windows,
I put back myself on the same release as you have on your side (OpenSTLinux 6.2.0 from 26_02_18).

The output of the command I gave you looks like that on my side:

/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 277, dropped: 0, current: 59.97, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 307, dropped: 0, current: 60.00, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 338, dropped: 0, current: 60.02, a4
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 369, dropped: 0, current: 59.96, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 400, dropped: 0, current: 60.05, a7
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 430, dropped: 0, current: 60.00, a5
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 460, dropped: 0, current: 60.00, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 491, dropped: 0, current: 59.97, a1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 521, dropped: 0, current: 59.99, a8
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 552, dropped: 0, current: 60.04, a2
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 582, dropped: 0, current: 60.00, a0

 

I question myself about why do you not have the same version of GstPlayBin as we have on our default distribution ? You can see that playbin-3-0 is used natively while you don’t have this on your side. Did you touch something around Gstreamer version in your distribution ? 


We can try to bypass this by making the full pipeline ourself:

gst-launch-1.0 filesrc location=./Big_Buck_Bunny_1080_10s_10MB.mp4 ! queue ! qtdemux ! queue ! h264parse ! queue ! v4l2slh264dec ! video/x-raw, width=1920, height=1080, framerate=60/1 ! queue ! waylandsink fullscreen=true

 

Can you tell me what is the rendering quality with this command ? 

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
WindowsAuthor
Senior
August 20, 2026

Hello ​@Windows,
I put back myself on the same release as you have on your side (OpenSTLinux 6.2.0 from 26_02_18).

The output of the command I gave you looks like that on my side:

/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 277, dropped: 0, current: 59.97, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 307, dropped: 0, current: 60.00, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 338, dropped: 0, current: 60.02, a4
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 369, dropped: 0, current: 59.96, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 400, dropped: 0, current: 60.05, a7
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 430, dropped: 0, current: 60.00, a5
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 460, dropped: 0, current: 60.00, a6
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 491, dropped: 0, current: 59.97, a1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 521, dropped: 0, current: 59.99, a8
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 552, dropped: 0, current: 60.04, a2
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:vbin/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 582, dropped: 0, current: 60.00, a0

 

I question myself about why do you not have the same version of GstPlayBin as we have on our default distribution ? You can see that playbin-3-0 is used natively while you don’t have this on your side. Did you touch something around Gstreamer version in your distribution ? 

We can try to bypass this by making the full pipeline ourself:

gst-launch-1.0 filesrc location=./Big_Buck_Bunny_1080_10s_10MB.mp4 ! queue ! qtdemux ! queue ! h264parse ! queue ! v4l2slh264dec ! video/x-raw, width=1920, height=1080, framerate=60/1 ! queue ! waylandsink fullscreen=true

 

Can you tell me what is the rendering quality with this command ? 

Kind regards,
Erwan.

Hi ​@Erwan SZYMANSKI 

 

I will run this command layer and post the reply here.

I don't know why I'm not using the same Gstreamer as you do. I'm using the OE manifest from ST:

repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18

 

By the way! I'm building on a Web Browser and Youtube Client for STM32MP2 processors (open and free code). That web browser and that Youtube Client are indeed using GStreamer. Is the GStreamer for MP2 modified for that specific hardware or is the version of that GStreamer the same as I can download elsewhere?