Воспроизведение видео с gstreamer на Raspberry Pi 3 с помощью Raspbian Stretch - PullRequest
0 голосов
/ 09 сентября 2018

Я пытался воспроизвести видео на Raspbian stretch с помощью gstreamer, но не получилось. Я начал установку gst-omx и попробовал следующие конвейеры:

gst-launch-1.0 videotestsrc ! videoconvert ! glimagesink
-> ERROR: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: Failed to connect to X display server

gst-launch-1.0 --gst-debug=3 uridecodebin uri=file:///opt/test/file.mp4 ! autovideosink
and
gst-launch-1.0 --gst-debug=3 playbin uri=file:///opt/test/file.mp4
-> gldisplay gstgldisplay_x11.c:88:gst_gl_display_x11_new: Failed to open X11 display connection with name, '(null)'

Похоже, GStreamer ищет сервер отображения X. Но я не хочу использовать один.

Кто-нибудь запустил его на растяжке по Распби? Казалось, работает на Wheezy.

1 Ответ

0 голосов
/ 01 октября 2018

Наконец-то все заработало с этой сущностью: https://gist.github.com/moritzvieli/417de950209a24a4f7a57ce1bb5bfeb7

Мне пришлось собрать gstreamer из источников. Вот как я настроил базовые плагины:

./configure --prefix=/usr \
--disable-gtk-doc --disable-examples \
--disable-opengl --enable-gles2 --enable-egl --disable-glx \
--disable-x11 --enable-wayland --enable-dispmanx \
--with-gles2-module-name=/opt/vc/lib/libbrcmGLESv2.so \
--with-egl-module-name=/opt/vc/lib/libbrcmEGL.so

После этого я всегда получал ошибку EGL_NOT_INITIALIZED, потому что gstreamer выбирал неправильные общие библиотеки. Это может быть исправлено временно с помощью этого хака:

sudo ln -fs /opt/vc/lib/libbrcmEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1
sudo ln -fs /opt/vc/lib/libbrcmGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2

Мне все еще нужно найти правильное решение. Возможно, удалите библиотеки egl mesa.

...