4

I've read https://stackoverflow.com/a/23869705/4073836 and it was very usefull to me. At least I am able to play HD from my filesystem. But. When I use software decoder

$ gst-launch-1.0 filesrc location=./test720p3kbps.mp4 ! qtdemux ! h264parse ! avdec_h264 ! eglglessink

I got normal picture on my screen while it is very slow.

Using omxplayer gives me brilliant picture. It is fast and correct.

And my own goal

$ gst-launch-1.0 filesrc location=./test720p3kbps.mp4 ! qtdemux ! h264parse ! omxh264dec ! eglglessink

also plays smooth. But it flips the picture upside-down! :'(

I've tried omxh263dec and omxmjpegdec with the same result. decodebin and playbin did no result either.

I could use videoflip but it crashes my pipe as stably as AK-74 would do:

*** glibc detected *** gst-launch-1.0: free(): invalid pointer: 0x004aaf50 ***
Aborted

My gpu_mem in config.txt is set to 256

$ gst-launch-1.0 --version
gst-launch-1.0 version 1.2.0
GStreamer 1.2.0
http://packages.qa.debian.org/gstreamer1.0

I've installed it via apt-get install.

Thanks in advance!

Community
  • 1
  • 1

1 Answers1

0

The video is actually playing "correctly", it is the OpenGL coordinate system that is flipped.
I have had success with this issue by adding a format string as a work-around.

gst-launch-1.0 filesrc location=./test720p3kbps.mp4 ! qtdemux ! h264parse ! avdec_h264 ! "video/x-raw, format=(string)I420"  ! eglglessink
S. Adam Nissley
  • 776
  • 1
  • 5
  • 13