HDMI Output with ffplay

Sorry for the late reply. I was away for a while. Thanks for your support.

So I found out a few things but I am still having trouble:

  • I was using Ubuntu Core stable version which was the problem why I was not able to see anything on the screen. Seems that the edge version is required to get mir-kiosk and graphical snaps running.

  • I’ve installed mir-kiosk for wayland support and I can also see something on my screen when I try out mir-kiosk-apps

  • My mpv snap is here [1]

  • When executing the mpv snap “mpv-casept.mpv SampleVideo.mp4 --vo=wayland” I get the following message:
    [vo/wayland/wayland] failed to connect to a wayland server: check if a wayland compositor is running Error opening/initializing the selected video_out (--vo) device.

  • Executing the mpv snap with sudo gets me further and I see the first frame of the video on the screen. Afterwards no further frames are shown and in the logs the following is shown:
    [vo/wayland/wayland] can't draw, back buffer is busy

Some additional information:

  • I’ve tried to build mpv with the --enable-rpi flag but I am running into:
    You manually enabled the feature 'rpi', but the autodetection check failed. Failed to run './waf configure --enable-rpi' for 'mpv': Exited with code 1. Verify that the part is using the correct parameters and try again.

  • Do I need to follow the approach described in https://www.raspberrypi.org/forums/viewtopic.php?t=199775 and install the GLES and EGL files from the official raspberry pi github page + change the wscript file?

I am trying further to get mpv running on rpi with Ubuntu Core but maybe you have some advices for me. Thanks.

[1] MPV snap

name: mpv-casept
version: '0.27.0'
summary: a free, open source, and cross-platform media player. Unofficial snap.
description: |
  mpv is a media player based on MPlayer and mplayer2.
  It supports a wide variety of video file formats,
  audio and video codecs, and subtitle types.
grade: devel
confinement: devmode

apps:
  mpv:
    command: usr/local/bin/mpv
    environment:
      XDG_RUNTIME_DIR: $SNAP_DATA/wayland
      LIBGL_DRIVERS_PATH: $SNAP_DATA/usr/lib/arm-linux-gnueabihf/dri
      WAYLAND_SOCKET_DIR: $SNAP_DATA/wayland
    plugs: [framebuffer, x11, opengl, unity7, pulseaudio, home, network, removable-media, optical-drive, wayland, alsa]

plugs:
  wayland-socket-dir:
    content: wayland-socket-dir
    interface: content
    target: $SNAP_DATA/wayland
    default-provider: mir-kiosk:wayland-socket-dir

parts:
  mpv:
    source: https://github.com/mpv-player/mpv/archive/v0.27.0.tar.gz
    plugin: waf
    prepare: |
      ./bootstrap.py
    stage-packages:
      - libasound2
      - libass5
      - libatomic1
      - libbluray1
      - libc6
      - libcdio-cdda1
      - libcdio-paranoia1
      - libcdio13
      - libdrm2
      - libdvdnav4
      - libdvdread4
      - libegl1-mesa
      - libgbm1
      - libgl1-mesa-glx
      - libgles2-mesa-dev
      - libjack-jackd2-0
      - libjpeg8
      - liblcms2-2
      - liblua5.2-0
      - libpulse0
      - librubberband2v5
      - libsdl2-2.0-0
      - libsmbclient
      - libsndio6.1
      - libuchardet0
      - libv4l-0
      - libva-drm1
      - libva-wayland1
      - libva-x11-1
      - libva1
      - libvdpau1
      - libwayland-client0
      - libwayland-cursor0
     - libwayland-egl1-mesa
      - libx11-6
      - libxext6
      - libxinerama1
      - libxkbcommon0
      - libxrandr2
      - libxss1
      - libxv1
      - zlib1g
    build-packages:
      - build-essential
      - libasound2-dev
      - libass-dev
      - libbluray-dev
      - libcdio-paranoia-dev
      - libdvdnav-dev
      - libdvdread-dev
      - libegl1-mesa-dev
      - libenca-dev
      - libgbm-dev
      - libgl1-mesa-dev
      - libguess-dev
      - libjack-dev
      - libjpeg-dev
      - liblcms2-dev
      - liblua5.2-dev
      - libpulse-dev
      - librubberband-dev
      - libsdl2-dev
      - libsmbclient-dev
      - libsndio-dev
      - libswscale-dev
      - libuchardet-dev
      - libv4l-dev
      - libva-dev
      - libvdpau-dev
      - libwayland-dev
      - libx11-dev
      - libxinerama-dev
      - libxkbcommon-dev
      - libxrandr-dev
      - libxss-dev
      - libxv-dev
      - libgles2-mesa-dev
      - pkg-config
      - python
      - python-docutils
    after: [ffmpeg]
  ffmpeg:
    source: git://source.ffmpeg.org/ffmpeg.git
    source-tag: n3.2.4
    plugin: autotools
    configflags:
      - --disable-ffprobe
      - --enable-gpl
      - --enable-libass
      - --enable-libfreetype
      - --enable-libmp3lame
      - --enable-libopus
      - --enable-libtheora
      - --enable-libvorbis
      - --enable-libvpx
      - --enable-libx264
      - --enable-libx265
      - --enable-nonfree
      - --enable-opengl
      - --enable-static
      - --enable-omx
      - --enable-omx-rpi
      - --enable-libxcb
      - --enable-libfreetype
      - --enable-gnutls
      - --disable-opencl
    build-packages:
      - autoconf
      - automake
      - build-essential
      - cmake
      - g++
      - git
      - libass-dev
      - libfreetype6-dev
      - libmp3lame-dev
      - libopus-dev
      - libsdl2-dev
      - libtheora-dev
      - libtool
      - libva-dev
      - libvdpau-dev
      - libvorbis-dev
      - libvpx-dev
      - libx264-dev
      - libx265-dev
      - libxcb-shm0-dev
      - libxcb-xfixes0-dev
      - libxcb1-dev
      - make
      - pkg-config
      - texinfo
      - yasm
      - zlib1g-dev
      - libluajit-5.1-dev
      - libfontconfig1-dev
      - libfribidi-dev
      - python-docutils
      - libjpeg-dev
      - libgnutls28-dev
      - libomxil-bellagio-dev
    stage-packages:
      - libssl-dev
   organize:
      usr/local/bin: usr/bin