2014-09-24 475 views
0

如何通過gstreamer獲取視頻流的寬度/高度?我有一個管道編碼在C++具有以下結構:如何通過gstreamer獲取視頻流的寬度/高度?

rtspsrc -> rtpjitterbuffer -> rtph264depay -> mpegtsmux -> filesink 

我的任務是:當我得到的第一圖像數據(無論是H264編碼或MJPEG)我需要從它查詢寬度和高度。可能嗎? 我試圖從rtph264depay的'src'中獲取當前的大寫字母,並從其結構中獲取寬度/高度,但未能做到最後。

謝謝!

回答

0

您可以使用typefind元素來查找流的媒體類型並從中獲取大寫字母。

希望有幫助!

0

您使用的是0.10嗎?它已經陳舊而且過時了多年。請移至1.0。

也就是說,在0.10中,您可以在元素的pad中註冊notify:caps信號的回調函數。所以你可以在h264depay中做到這一點,並檢查它是否有寬度/高度字段。如果沒有,你可以添加一個h264parse,它可能會爲你找到寬度和高度,你可以在它的源代碼中使用notify:caps。

在1.0中,它應該工作相同,但在焊盤上使用事件探測器並查找CAPS事件。