Я в настоящее время пытаюсь установить сервер Ubuntu для перераспределения канала rtsp, прибывающего из IP камеры.
Я видел, что gst-rtsp-server библиотека gstreamer могла помочь мне с этой проблемой.
Я установил следующий пакет:
sudo apt-get install libgstrtspserver-1.0-dev
sudo apt-get install gstreamer1.0-rtsp
sudo apt-get install libglib2.0-dev
Я затем клонировал gst-rtsp-server библиотеку repo на моем рабочем столе:
git clone https://github.com/GStreamer/gst-rtsp-server.git
Но, когда я пытаюсь скомпилировать файл C (gst-rtsp-server/examples/test-launch.c
) данный как пример того, как пользоваться библиотекой с помощью gcc:
gcc test-launch.c -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
Я получаю следующую ошибку:
/tmp/ccM7e45N.o: In function `main':
test-launch.c:(.text+0x2e): undefined reference to `g_option_context_new'
test-launch.c:(.text+0x4a): undefined reference to `g_option_context_add_main_entries'
test-launch.c:(.text+0x4f): undefined reference to `gst_init_get_option_group'
test-launch.c:(.text+0x61): undefined reference to `g_option_context_add_group'
test-launch.c:(.text+0x79): undefined reference to `g_option_context_parse'
test-launch.c:(.text+0x99): undefined reference to `g_printerr'
test-launch.c:(.text+0xa5): undefined reference to `g_option_context_free'
test-launch.c:(.text+0xb1): undefined reference to `g_clear_error'
test-launch.c:(.text+0xc7): undefined reference to `g_option_context_free'
test-launch.c:(.text+0xd6): undefined reference to `g_main_loop_new'
test-launch.c:(.text+0xdf): undefined reference to `gst_rtsp_server_new'
test-launch.c:(.text+0x107): undefined reference to `g_object_set'
test-launch.c:(.text+0x113): undefined reference to `gst_rtsp_server_get_mount_points'
test-launch.c:(.text+0x11c): undefined reference to `gst_rtsp_media_factory_new'
test-launch.c:(.text+0x13a): undefined reference to `gst_rtsp_media_factory_set_launch'
test-launch.c:(.text+0x14b): undefined reference to `gst_rtsp_media_factory_set_shared'
test-launch.c:(.text+0x162): undefined reference to `gst_rtsp_mount_points_add_factory'
test-launch.c:(.text+0x16e): undefined reference to `g_object_unref'
test-launch.c:(.text+0x17f): undefined reference to `gst_rtsp_server_attach'
test-launch.c:(.text+0x19a): undefined reference to `g_print'
test-launch.c:(.text+0x1a6): undefined reference to `g_main_loop_run'
collect2: error: ld returned 1 exit status
Существует что-то, что я пропускаю, но я не знаю что...> <'
Ошибка, очевидно, прибывает из недостающего заголовка, но какой и где я могу получить его?
Как всегда, спасибо за справку/подсказки!
Если это возвращает что-то для Вас:
pkg-config --modversion gstreamer-rtsp-server-1.0
(Для меня это возвращается 1.14.1
)
Можно использовать следующую команду gcc для компиляции требуемого примера:
gcc -o test-launch test-launch.c `pkg-config --cflags --libs gstreamer-rtsp-server-1.0`
P.S. в команде, удостоверьтесь, что Вы используете обратные галочки 'и не апострофы'
Источник: https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html#hello-world