Здравствуйте! У меня есть gstreamer pipeline, написанный на c++: rtspsrc -> rtpjitterbuffer -> rtph264depay -> mpegtsmux -> filesink
Мне необходимо получить width/height картинки, как только это станет возможным (когда данные польются по pipeline'у). Как можно это сделать? Пробовал брать current caps от 'src pad' элемента rtph264depay и там смотреть размеры, но не вышло. Спасибо!
Не уверен, что кто нибудь когда нибудь это увидит, но все таки. У rtspsrc есть событие 'on-sdp', в обработчике которого можно получить sdp-пакет. В sdp пакете h264-потока есть поле sprop-parameter-sets, которое содержит sps и pps пакеты. Если разобрать sps пакет, то из его параметров по нехитрой формуле можно вычислить размеры потока, подробнее это описано тут - stackoverflow.com/questions/6394874/fetching-the-d...