Как прочитать порт gstreamer udpsrc при установке автоматического выделения - PullRequest
0 голосов
/ 18 октября 2019

Я хочу получить поток RTP, содержащий VP8, используя gstreamer. Работает следующий конвейер:

gst-launch-1.0 -v rtpbin name=rtpbin name=rtpbin udpsrc name=udpsrcm caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)VP8-DRAFT-IETF-01" port=0 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpvp8depay ! webmmux ! filesink location='rec.webm' 

Но порт жестко запрограммирован (5004). Теперь я бы хотел, чтобы udpsrc автоматически выделил свободный порт, который я мог бы затем прочитать. Это возможно в соответствии с документацией udpsrc :

Элемент udpsrc поддерживает автоматическое распределение портов, установив для свойства порта значение 0. После установки для udpsrc значения PAUSED выделенный порт можетполучить путем чтения свойства порта.

Я также попробовал это, и udpsrc правильно распределяет и прослушивает свободный порт, но я понятия не имею, как я мог его прочитать. Я не нашел примеров того, как это сделать.

Я буду использовать порт в том же файле сценария, чтобы указать другому приложению выполнять потоковую передачу на этот порт.

...