Конвейер 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, я немного растерялся. Какие-нибудь мысли?