Как использовать qt-gstreamer с qtquick2videosink на Qt5 на Raspberry Pi3 - PullRequest
0 голосов
/ 20 февраля 2020

Я собрал qt-gstreamer из исходного кода на GitHub (версия 1.2.0). Затем я попытался запустить приложение qmlplayer2 (созданное из qt-gstreamer и использующее qtquick2videosink) на qt5 на Raspberry Pi3, но я получил следующую ошибку во время выполнения:

(gst-plugin-scanner: 3749): GStreamer-WARNING **: не удалось загрузить плагин '/usr/lib/gstreamer-0.10/libgstqt5videosink.so': /usr/lib/gstreamer-0.10/libgstqt5videosink.so: неопределенный символ: _Z33gst_qt_quick2_inkink_tv. Убедитесь, что он установлен правильно

(qmlplayer2: 8517): GStreamer-CRITICAL **: gst_bin_add: утверждение 'GST_IS_ELEMENT (element)' не удалось

(qmlplayer2: 8517): GStreamer-CRITICAL * *: gst_element_link_pads_filtered: утверждение 'GST_IS_ELEMENT (dest)' не выполнено

1 Ответ

1 голос
/ 20 февраля 2020

Посмотрите на исходный код qt-gstreamer, я обнаружил, что функция gst_qt_quick2_video_sink_get_type () реализована в gstqtquick2videosink. cpp, но этот файл не был скомпилирован из-за отсутствия конфигурации в cmake, связанной с OpenGL.

Я настраиваю cmake следующим образом:

enter image description here

, затем перестраиваю и развертываю новый файл libgstqt5videosink.so в /usr/lib/gstreamer-0.10/libgstqt5videosink.so on целевое устройство. После этого приложение qmlplayer2 работает нормально.

...