Конвейер gstreamer с RTSP src и приемником UDP

У меня, как мне кажется, странная потребность в конвейере gstreamer... У меня есть сервер, который принимает потоки VP8, и камера, которая генерирует потоки H264 rtsp. Обе эти системы работают в пределах своих возможностей, и обе они автономны (я не могу их изменить). Мне нужно снять поток H264 с камеры, преобразовать его в VP8 и отправить на сервер.

На стороне H264 (сетевая камера) я могу получить видео с камеры и показать его с этим...

PIPELINE1:
gst-launch-1.0 \
  rtspsrc location=rtsp://FULL_URI_OF_CAMERA ! queue ! rtph264depay ! \
  decodebin ! autovideosink

На стороне VP8 я могу отправить видео на сервер с этим...

PIPELINE2:
gst-launch-1.0 \
 v4l2src device=/dev/video0 ! video/x-raw,height=480,width=640 ! \
 videoconvert ! \
 vp8enc target-bitrate=1000000 threads=8 error-resilient=1 deadline=1 ! \
 rtpvp8pay pt=96 !  \
 udpsink host=1234 port=1.2.3.4

PIPELINE1 и PIPELINE2 оба работают; но мне по сути нужно заменить src PIPELINE2 на src PIPELINE1, который будет выглядеть примерно так:

PIPELINE3:
gst-launch-1.0 rtspsrc \
location=rtsp://FULL_URI_OF_CAMERA ! queue ! rtph264depay ! decodebin ! \
videoconvert ! \
vp8enc target-bitrate=1000000 error-resilient=1 deadline=1 ! \
rtpvp8pay pt=96 ! udpsink host=1.2.3.4 port=1234

Когда я пытаюсь выполнить этот конвейер, происходит сбой gstreamer (пойман SIGSEGV). Не будучи экспертом по gstreamer, я немного растерялся. Какие-нибудь мысли?

0 ответов

Другие вопросы по тегам