6

I am running the latest Jessie image on my pi2 B. I have gstreamer-1.0 installed with gstreamer omx plugins. gst-inspect confirms the omx plugins are installed. I am not using the X server and need to output directly to the hdmi framebuffer.

pi@raspberrypi:~ $ gst-inspect-1.0 | grep omx
omx:  omxmpeg2videodec: OpenMAX MPEG2 Video Decoder
omx:  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
omx:  omxh263dec: OpenMAX H.263 Video Decoder
omx:  omxh264dec: OpenMAX H.264 Video Decoder
omx:  omxtheoradec: OpenMAX Theora Video Decoder
omx:  omxvp8dec: OpenMAX VP8 Video Decoder
omx:  omxmjpegdec: OpenMAX MJPEG Video Decoder
omx:  omxvc1dec: OpenMAX WMV Video Decoder
omx:  omxh264enc: OpenMAX H.264 Video Encoder
omx:  omxanalogaudiosink: OpenMAX Analog Audio Sink
omx:  omxhdmiaudiosink: OpenMAX HDMI Audio Sink

I am unable to play any video back on the framebuffer. I do not seem to have any video sinks installed and I cannot seem to figure out what gstreamer packages I am missing.

pi@raspberrypi:~ $ gst-inspect-1.0 | grep sink
omx:  omxanalogaudiosink: OpenMAX Analog Audio Sink
omx:  omxhdmiaudiosink: OpenMAX HDMI Audio Sink
tcp:  multisocketsink: Multi socket sink
tcp:  multifdsink: Multi filedescriptor sink
tcp:  tcpserversink: TCP server sink
tcp:  tcpclientsink: TCP client sink
app:  appsink: AppSink
playback:  playsink: Player Sink
gio:  giostreamsink: GIO stream sink
gio:  giosink: GIO sink
coreelements:  filesink: File Sink
coreelements:  fdsink: Filedescriptor Sink
coreelements:  fakesink: Fake Sink

I know that video output to the framebuffer works, because I can use omxplayer and see the video I am trying to play. I need gstreamer to work because I need more flexibility than omxplayer can provide.

pi@raspberrypi:~ $ gst-launch-1.0 filesrc location=myvideo.mpg ! decodebin ! autovideosink
WARNING: erroneous pipeline: no element "autovideosink"

pi@raspberrypi:~ $ gst-launch-1.0 filesrc location=myvideo.mpg ! decodebin ! fbdevsink
WARNING: erroneous pipeline: no element "fbdevsink"

What am I missing to playback video on the pi framebuffer device? Is there an omxhdmivideosink?

Thanks.

Dan
  • 161
  • 1
  • 1
  • 3

1 Answers1

5

The one way you can output directly to the frame buffer is using fbdevsink, e.g.:

gst-launch-1.0 -v videotestsrc ! fbdevsink

The fbdevsink can be found in the gstreamer1.0-plugins-bad package.

Dmitry
  • 151
  • 1
  • 3