Juster
@Juster

Как узнать width/height видеопотока в gstreamer?

Здравствуйте! У меня есть gstreamer pipeline, написанный на c++: rtspsrc -> rtpjitterbuffer -> rtph264depay -> mpegtsmux -> filesink

Мне необходимо получить width/height картинки, как только это станет возможным (когда данные польются по pipeline'у). Как можно это сделать? Пробовал брать current caps от 'src pad' элемента rtph264depay и там смотреть размеры, но не вышло. Спасибо!
  • Вопрос задан
  • 2394 просмотра
Пригласить эксперта
Ответы на вопрос 1
qlkvg
@qlkvg
python backend developer
Не уверен, что кто нибудь когда нибудь это увидит, но все таки. У rtspsrc есть событие 'on-sdp', в обработчике которого можно получить sdp-пакет. В sdp пакете h264-потока есть поле sprop-parameter-sets, которое содержит sps и pps пакеты. Если разобрать sps пакет, то из его параметров по нехитрой формуле можно вычислить размеры потока, подробнее это описано тут - stackoverflow.com/questions/6394874/fetching-the-d...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы