GStreamer force decodebin2输出类型

时间:2011-11-08 11:39:24

标签: ffmpeg pipeline gstreamer

我正在尝试在C中编写一个复制管道的程序:

gst-launch -v filesrc location="bbb.mp4" ! decodebin2 ! ffmpegcolorspace ! autovideosink

DecodeBin2有一个动态打击垫,我附加了一个回调来处理它的创建。我无法将其链接到ffmpegcolorspace但是因为pad功能始终是video / quicktime。我希望它是video / x-raw-yuv或其他与ffmpegcolorspace兼容的东西。

是否可以强制/选择decodebin2的输出类型?

感谢。

编辑:请不要推荐playbin。我正在努力学习如何制作管道。

2 个答案:

答案 0 :(得分:2)

Is this possible to force/select the output type of decodebin2?

不,你不能强迫或选择其源垫的类型。

decoderbin2选择适当的解复用器元素,并且解复用器元素解析该媒体文件,并根据该媒体文件中的元素流的编解码器,创建输出/源码的大写/类型。所以解码器类型可以与之链接和管道工程。

这一切都发生在gstremer-plugin代码

所以,如果你想要这样,那么你需要自己编写插件.. !!

答案 1 :(得分:-1)

您可以尝试使用playbin插件,而不是手动生成管道。

从我的gstmultimedialib项目中查看https://code.google.com/p/gstmultimedialib/source/browse/trunk/gstmultimedialib/Multimedia/Multimedia/FilterGraph/PlaybinFilterGraph.h

祝你好运!!!