1

Я хочу получить видеопоток с IP-камеры от gstreamer:
gst-launch-1.0 rtspsrc location=rtsp://user:pass@192.168.81.32:554/live/ch00_0 ! rtph264depay ! autovideosink

но получите эту ошибку
Установка конвейера в состояние PAUSED…
Конвейер работает и не требует состояния PREROLL…
Установка конвейера в состояние PLAYING…
New clock: GstSystemClock
ОШИБКА: из элемента /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.
Дополнительная отладочная информация:
gstrtspsrc.c(4206): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 54503440 ns.
Установка конвейера в состояние PAUSED...
Установка конвейера в состояние READY…
Установка конвейера в состояние NULL…
Освобождение конвейера…

я думаю, что это основная ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.

моя система gentoo 3.5.7

1 ответ1

0

Вы ошиблись трубопроводом. Правильный:

gst-launch-1.0 rtspsrc location = rtsp:// пользователь:pass@192.168.81.32:554/ live/ ch00_0! rtph264depay! h264parse! расшифровка! autovideosink

или же

gst-launch-1.0 rtspsrc location = rtsp:// пользователь:pass@192.168.81.32:554/ live/ ch00_0! rtph264depay! расшифровка! autovideosink

, так как вам нужно декодировать поток h264 перед его отображением. Вот основные цепочки для использования медиа:

1) Декодирование: закодировано src -> demuxer -> декодер -> сток

2) Кодировка: raw src(т. Е. Простая веб-камера) -> кодер -> muxer -> сток

Также проверьте способ установки аутентификации для rtspsrc. Я не уверен в этом, но, возможно, единственный правильный: rtspsrc location = rtsp://192.168.81.32: 554/live/ch00_0 user-id = user user-pw = пароль

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .