I would like to test video rendering on my current devboard (and maybe on above mentioned single core version) using GPU.
Using gstreamer I was unable to play any video, as I always get error messages about codecs. For the moment I have h264 sample video (I also tried different codecs in the past) in target board and gstreamer can’t find appropriate codecs, even while h264 plugin is installed:
gst-launch-1.0 playbin uri=file:/root/ava.avi Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Missing element: MPEG-1 Layer 3 (MP3) decoder WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)48000, channels=(int)2, parsed=(boolean)true'. Additional debug info: gsturidecodebin.c(921): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 Missing element: ITU H.264 (Main Profile) decoder WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/x-h264, variant=(string)itu, framerate=(fraction)25/1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)81/256, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)main, level=(string)4.1, codec_data=(buffer)014d4029ffe1001b674d4029e980a00b77fe00a2020020000003002000000641e3062701000468efbc80'. Additional debug info: gsturidecodebin.c(921): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in. Additional debug info: gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: no suitable plugins found: gstdecodebin2.c(4643): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: MPEG-1 Layer 3 (MP3) (audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)48000, channels=(int)2, parsed=(boolean)true) Missing decoder: ITU H.264 (Main Profile) (video/x-h264, variant=(string)itu, framerate=(fraction)25/1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)81/256, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)main, level=(string)4.1, codec_data=(buffer)014d4029ffe1001b674d4029e980a00b77fe00a2020020000003002000000641e3062701000468efbc80) |
So for now I use vlc, which can’t find OpenGL API:
egl_wl gl error: cannot select OpenGL API |
So I believe it renders video using CPU. On quad core I get approx 17% CPU usage from VLC, so it would probably work even on single core CPU – maybe even on NANO.
Can you help with vlc rendering on GPU with Open GL?
I also noticed, that if I use gstreamer with sink waylandsink, all I get is green square.
If I use fbdevsink, it renders contents properly, despite weston being loaded.
Why is that, if weston is running?