Как я могу разблокировать список ‘libnvomx.so ‘, чтобы разрешить проблему «нет такого элемента на заводе ‘omxh264enc’!»?

#docker #dependencies #gstreamer #nvidia #shared-objects

#докер #зависимости #gstreamer #nvidia #общие объекты

Вопрос:

(Справочная информация: в контейнере docker на плате NVidia Jetson TX2 я распаковал архив NVidia Linux для Tegra, который содержит множество драйверов и общих объектных файлов, некоторые из которых предоставляют фабрики элементов GStreamer, которые производят элементы, которые я использую в своем конвейере GStreamer. Я пытаюсь запустить конвейер в контейнере docker.)

Однако в моем конвейере GStreamer (на этой плате Tegra) есть элемент с именем ‘omxh264enc’, который я не смог создать.

Я поместил соответствующий ‘libnvomx.so ‘в моей папке драйверов, которая находится в экспортированных путях GST_PLUGIN_PATH и LD_LIBRARY_PATH.

ldd -r не показывает никаких отсутствующих библиотек для libnvomx.so

ОДНАКО, когда я пытаюсь запустить конвейер, вывод включает

 WARN   omx gstomx.c:2826:plugin_init: Failed to load configuration file: Valid key file could not be found in search dirs (searched in: /root/.config:/etc/xdg as per GST_OMX_CONFIG_DIR environment variable, the xdg user config directory (or XDG_CONFIG_HOME) and the system config directory (or XDG_CONFIG_DIRS)
INFO   omx gstomx.c:2831:plugin_init: Using default configuration
ERROR   omx gstomx.c:2894:plugin_init: Core '/usr/lib/aarch64-linux-gnu/tegra/libnvomx.so' does not exist for element 'omxh264enc'
WARN   GST_PLUGIN_LOADING gstplugin.c:526:gst_plugin_register_func: plugin "/gst_1.8.3/libs/gstreamer-1.0/libnvomx.so" failed to initialise
  

и когда я использую GST_DEBUG = 3 gst-inspect-1.0 libnvomx.so , libnvomx.so занесен в черный список.

 Plugin Details:
Name                     libnvomx.so
Description              Plugin for blacklisted file
Filename                 /gst_1.8.3/libs/gstreamer-1.0/libnvomx.so
Version                  0.0.0
License                  BLACKLIST
Source module            BLACKLIST
Binary package           BLACKLIST
Origin URL               BLACKLIST
  

Я скопировал libnvomx.so в /usr/lib/aarch64-linux-gnu/tegra, но это ничего не изменило (вероятно, потому, что libnvomx занесен в черный список).

Я не знаю, где найти файл gstomx.conf, где, возможно, я могу изменить путь /usr/lib/aarch64-linux-gnu/tegra/libnvomx.so к моей указанной папке драйверов (/gst_1.8.3/ libs/gstreamer-1.0/). Я использовал ‘find’ в / etc и некоторых других папках, но не нашел его (на самом деле я не нашел папку .config в системе).

(Есть также другие плагины с отсутствующими символами, nvidia_drv.so с неопределенным набором таймеров символов и libglx.so с неопределенным символом ServerClient. Я хотел бы узнать, что предполагается для предоставления этих символов? Но это не (прямые) зависимости libnvomx.so )

Итак, как я могу инициализировать / разблокировать список libnvomx.so значит, я могу использовать ‘omxh264enc’? Нужно ли мне найти / создать файл конфигурации gstomx или я могу заставить его работать с конфигурацией по умолчанию? Я где-то читал, что может быть решение с использованием ‘символической ссылки’, но на данный момент я не знаком с тем, что это такое или как это работает.

Дайте мне знать, если вам нужна дополнительная информация, спасибо.