2014-10-01 62 views
0

我正在編寫一個gstreamer(1.x)插件,它將自動加載應用於視頻幀。它將轉換GRAY16_LE - > GRAY8。無法在自定義gstreamer插件中的transform_caps

我開始通過運行gst-plugins-bad-1.3.2/tools中的gst-element-maker工具並使用視頻過濾器模板。

如果我把我的src和沉墊帽爲「{GRAY8,GRAY16_LE}」我可以得到下面的管道運行:

gst-launch-1.0 videotestsrc ! video/x-raw,format=GRAY16_LE ! videoautogain ! videoconvert ! autovideosink 

然而,它使用相同的瓶蓋上的src和水槽(在這種情況下是GRAY16_LE)。如果將水槽上限更改爲「{GRAY16_LE}」,將src上限更改爲「{GRAY8}」,則連接管道時會出現錯誤。我想我可能需要實現GstBaseTransform-> transform_caps函數,但我不確定,我不知道如何實現它來強制在兩個焊盤上使用靜態但不同的上限。有人能指出我正確的方向嗎?

回答

0

我在gst-plugins-bad-1.3.2/ext/opencv /中找到了一個我需要做的簡單例子(儘管在GRAY8-> GRAY16_LE方向而不是GRAY16_LE-> GRAY8) gstcvsobel.c插件。現在很好用!

相關問題