Ubuntu gstreamer “Не удалось открыть ресурс для чтения и записи”

Вопрос или проблема

Я использую gstreamer для получения rtsp потока. Я использую команду: gst-launch-1.0 rtspsrc location='rtsp://user:password@address:554/live/main' latency=100 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink
Я использовал ее на первом компьютере, и она работала.
Затем я использовал ее на втором компьютере, и она тоже работала.
После этого я сделал некоторые операции по удалению/установке с opencv на втором компьютере.
И теперь я не могу получить поток со второго компьютера. Но на первом компьютере с той же самой командой всё еще работает.

Вывод:

Установка конвейера в состояние PAUSED ...
Конвейер в рабочем состоянии и не требует PREROLL ...
Получен контекст от элемента 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Прогресс: (открытие) Открытие потока
Прогресс: (подключение) Подключение к rtsp://user:password@address:554/live/main
ОШИБКА: от элемента /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Не удалось открыть ресурс для чтения и записи.
Дополнительная отладочная информация:
gstrtspsrc.c(7469): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Ошибка подключения. (Общая ошибка)
ОШИБКА: конвейер не может перейти в состояние preroll.
Установка конвейера в состояние PAUSED ...
Установка конвейера в состояние READY ...
Установка конвейера в состояние NULL ...
Освобождение конвейера ...

Что я сделал и как это исправить? Заранее спасибо!

С использованием GST_DEBUG=1 gst-launch-1.0... я понял, что проблема была в http-proxy.

Ответ или решение

Ваша проблема с GStreamer на Ubuntu, связанная с ошибкой "Could not open resource for reading and writing", может иметь несколько причин и решений. Давайте разберемся, что может вызвать эту ошибку и какие шаги можно предпринять для ее устранения.

Введение в проблему

Вы используете GStreamer, чтобы подключиться к RTSP-потоку с помощью команды:

gst-launch-1.0 rtspsrc location='rtsp://user:password@address:554/live/main' latency=100 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink

Эта команда работала на двух разных компьютерах до тех пор, пока на втором из них не были произведены операции по установке/удалению OpenCV. После этого возникли проблемы с потоками только на втором компьютере. Основываясь на ваших наблюдениях, проблема связана с настройками HTTP-прокси.

Возможные причины проблемы

  1. HTTP-прокси: Как вы заметили, возможно, ваша проблема связана с конфигурацией прокси-сервера, которая могла измениться в процессе установки или удаления OpenCV. Это может быть вызвано тем, что GStreamer или установленные библиотеки используют сетевые настройки, которые работают через прокси.

  2. Библиотеки и зависимости: После установки/удаления OpenCV могли быть изменены или удалены зависимости, которые использует GStreamer. В частности, могли быть затронуты библиотеки, отвечающие за сетевые соединения.

  3. Сетевые правила или брандмауэр: Убедитесь, что сетевые настройки вашего второго компьютера не были изменены, и что доступ через порт 554 (RTSP) не заблокирован.

Решения

  1. Проверка прокси-сервера: Убедитесь, что настройки вашей сети корректно конфигурированы и назначены. Вы можете просмотреть или изменить переменные окружения, такие как http_proxy и https_proxy, чтобы удостовериться, что они соответствуют вашему сетевому окружению.

  2. Переустановка или обновление GStreamer: Попробуйте переустановить GStreamer, воспользовавшись следующими командами:

    sudo apt-get remove --purge gstreamer1.0*
    sudo apt-get autoremove
    sudo apt-get update
    sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
  3. Проверка других зависимостей: Убедитесь, что все необходимые библиотеки для работы GStreamer установлены и находятся в корректных версиях. Особое внимание уделите библиотекам, связанным с сетевыми функциональностями.

  4. Логирование и отладка: Используйте GST_DEBUG=3 gst-launch-1.0 ... для получения более детального вывода о том, где именно происходит сбой в процессе подключения. Это может помочь выявить конкретные проблемы или отсутствующие компоненты.

Заключение

Чтобы успешно устранить проблему с GStreamer и RTSP, вам необходимо диагностировать изменения, которые произошли в вашей системе. Особое внимание уделите настройкам прокси и зависимостям библиотек. Если изменения повлияли на сетевые настройки или установленные пакеты, это может сказаться на работе всего потока. Следуя предложенным шагам, вы сможете выявить и исправить основную причину проблемы.

Оцените материал
Добавить комментарий

Капча загружается...