Raspberry Pi display - CESNET/UltraGrid GitHub Wiki

For Raspberry Pi 4 see here.

Testing

Scope

The aim of the testing is to determine a viable combination of HW accelerations and/or display to be able to fluidly decode H.264 stream on Raspberry Pi. Also current state of UltraGrid is evaluated.

Tested SW:

  • UltraGrid
  • FFMPEG (ffplay)
  • mpv
  • (mplayer?)
  • omxplayer

Setup

  • Raspberry Pi 3 Model B
  • Raspbian Buster with desktop
  • 256 MB video RAM (gpu_mem=256)
  • G3 GL (Full KMS) OpenGL desktop driver with full KMS (dtoverlay=vc4-kms-v3d)

Results

File playback (New Zealand 4K transcoded to 1080p H.264 @10 Mbps)

  • omxplayer + G1/G2 - smooth
  • omxplayer + G3 - doesn't work
  • ffplay -vcodec h264_mmal + G1 - strobbing
  • ffplay -vcodec h264_mmal + G3 - smooth
  • ffplay -vcodec h264_v4l2m2m + G1/G3 - works but no rendering
  • ffplay and mpv + G3 - smooth
  • ffplay and mpv + G2 - doesn't work
  • mpv + G1 - slow

Note: HW acceleration work with G3 GL, not G1 (G2 not tested)!

UltraGrid (as for 10th Sep 2019),

  • uv -d gl --param force-lavd-decoder=h264_v4l2m2m - crashes
  • uv -d gl --param force-lavd-decoder=h264_mmal - something like 8 FPS
  • uv -d sdl --param force-lavd-decoder=h264_mmal - 7 FPS
  • uv -d sdl:renderer={1,2} --param force-lavd-decoder=h264_mmal (GLES renderers) - 9 FPS
  • other drivers than X11 (RPI or wayland) didn't work

References