2016-08-29 3 views
-2

私はmpegstreamとしてudp上でyuvファイルをストリーミングしています。UDPのTSストリームから来るビデオ解像度を知るには?

と、私は、パイプラインの下にappsink、で

gst-launch-1.0 udpsrc port=8765 ! rtpmp2tdepay ! tsdemux ! avdec_h264 ! appsink 

を使用していることを受けています、私は、ビデオ・バッファを受け付けております。しかし、今私は着信ビデオストリームの解像度を知りたいです。

入力ビデオの解像度を見つける方法を教えてください。

+0

は、あなたがドキュメントを読むことがありますか?あなたはGstCapsについて読んでいますか? – soupybionics

+0

ええ、私はストリームを交渉するためにキャップについて読む。 –

答えて

-1
sinkPad = gst_element_get_static_pad (Sink, "sink"); 

sinkCaps = gst_pad_get_current_caps (sinkPad); 

UU_PRINT("Caps :: %s", gst_caps_to_string (sinkCaps)); 

str = gst_caps_get_structure(sinkCaps, 0); 

if((!gst_structure_get_int (str, "width", &width)) || (gst_structure_get_int (str, "height", &height))) 
{ 
    UU_PRINT("No Width/Height are Available in the Incoming Stream Data !!"); 
} 

UU_PRINT("Width :: %d Hieght %d", width, height); 

gst_caps_unref(sinkCaps); 
+0

上記の最初の行にある「シンク」はどの要素ですか? – soupybionics

+0

これはappsink要素ですが、この関数はappsinkのコールバック関数です。new-sample –

+0

しかし、あなたは "着信"別名でエンコードされたビデオストリームの解像度が必要だと言いましたか? Appsinkはデコードされたビデオを処理します。デコード後、シンク要素では、解像度を取得します。 – soupybionics

関連する問題