Воспроизведение видео в формате ogg с использованием gstreamer во встроенной системе

Я создал конвейер для воспроизведения видео в формате ogg во встроенной системе. Я использовал gst-плагины, такие как libgstvorbis.so , libgsttheora.so и libogg.so , и скопировал их в папку /lib на моей встроенной системе. Но, пытаясь воспроизвести видео, я получаю предупреждения вроде

(: 25214): GStreamer-WARNING **: Не удалось загрузить плагин'lib/gstreamer-0.10/libgstogg.so ': /lib/gstreamer-0.10/libgstogg.so: undefined symbol: gst_collect_pads2_start

(: 25214): GStreamer-WARNING **: Не удалось загрузить плагин'lib/gstreamer-0.10/libgstvorbis.so ': /lib/libm.so.6: version `GLIBC_2.15' не найден (требуется / lib /gstreamer-0.10/libvorbis.so.0)

(: 25214): GStreamer-WARNING **: Не удалось загрузить плагин'lib/gstreamer-0.10/libgsttheora.so ': /lib/gstreamer-0.10/libgsttheora.so: undefined symbol: gst_element_class_add_static_pad_template

Как я могу это исправить?

у вас есть несовместимые версии библиотек, установленные в вашей системе.

  • libgvorbis.so был скомпилирован с другой версией libm : а именно с символом GLIBC_2.15 , а libm вы установили, не имеет этого символа

  • libgstogg.so и libgsttheora.so ссылаются на функции gstreamer, не найденные в вашем libstreamer-0.10.so

это в основном означает, что ваша среда сборки несовместима с вашей целевой платформой.

«embedded» – очень обширная область и охватывает множество архитектур и операционных систем. двоичные файлы, которые вы копировали, были созданы для правильной архитектуры, но, похоже, существует большая разница в версии для установленной системы.

трудно сказать без дополнительной информации.

в зависимости от вашей системы вам может быть повезло, установив на нем полноценный дистрибутив, такой как Debian , который уже поставляется с необходимыми плагинами GStreamer.