gstreamer中cap,指定媒体功能的语法是什么? Caps是指定允许的媒体类型的字符串,看起来像“audio/x-raw-int,...”,但我一直无法找到有关cap字符串中允许的准确文档。什么是gstreamer caps语法?
回答
这是我如何使用它在蟒蛇... HTH
caps = gst.Caps("video/x-raw-yuv,format=(fourcc)AYUV,width=704,height=480")
capsFilter = gst.element_factory_make("capsfilter")
capsFilter.props.caps = caps
我正在查找指定大写字符串的语法。 “video/x-raw-yuv,...” – joeforker 2010-04-08 17:17:55
了部分答案,我敢肯定,你已经计算出已经:
"MIMETYPE,PROPERTY1=VALUE1,PROPERTY2=VALUE2,..."
正式,盖是不由字符串表示,而是由包含GstStructures数组的GstCaps对象表示。请参阅文档here。
也许,如果我们在这里工作了一个明确的答案,我们可以提交一份文件补丁功能gst_caps_from_string()
我不确定是由于您的问题是关于语法,但"list of defined types"可能会有所帮助。
在Java中,GStreamer的-java的
final Element videofilter = ElementFactory.make("capsfilter", "flt");
videofilter.setCaps(Caps.fromString("video/x-raw-yuv, width=720, height=576"
+ ", bpp=32, depth=32, framerate=25/1"));
在C,说你要videoscale帽过滤
GstElement *videoscale_capsfilter;
GstCaps* videoscalecaps;
...
...
videoscale = gst_element_factory_make ("videoscale", "videoscale");
g_assert (videoscale);
videoscale_capsfilter = gst_element_factory_make ("capsfilter", "videoscale_capsfilter");
g_assert (videoscale_capsfilter);
...
...
然后设置属性
g_object_set(G_OBJECT (videoscale_capsfilter), "caps", videoscalecaps, NULL);
那么你可以把它们添加到并使用gst-launch
0123构建媒体管道的方式链接它们/* Add Elements to the Bin */
gst_bin_add_many (GST_BIN (pipeline),source ,demux ,decoder ,videoscale ,videoscale_capsfilter ,ffmpegcolorspace ,ffmpegcolorspace_capsfilter,autovideosink,NULL);
/* Link confirmation */
if (!gst_element_link_many (demux, decoder,videoscale, videoscale_capsfilter ,ffmpegcolorspace, ffmpegcolorspace_capsfilter, autovideosink, NULL)){
g_warning ("Main pipeline link Fail...");
}
/* Dynamic Pad Creation */
if(! g_signal_connect (source, "pad-added", G_CALLBACK (on_pad_added),demux))
{
g_warning ("Linking Fail...");
}
的语法是:
<type>[,<property>=<value>]...
注意该类型是不 MIME类型,但是很多它可能看起来像一个。
您可以通过使用gst-inspect
找出哪些上限属性元素支持。它会为元素的pad提供“pad模板”,这将指定支持的cap的范围。
GStreamer插件作者指南还包含一个描述常见音频,视频和图像格式属性的list of defined types。
这里是格式据我的理解:
caps = <caps_name>, <field_name>=<field_value>[; <caps>]
<caps_name> = image/jpeg etc
<field_name> = width etc
<field_value> = <fixed_field_value>|<ranged_field_value>|<multi_field_value>
<fixed_field_value> = 800 etc
<ranged_field_value> = [<lower_value>, <upper_value>]
<multi_field_value> = {<fixed_field_value>, <fixed_field_value>, <fixed_field_value>, ...}
这非常好,但它遗漏了新的功能特性。 – swestrup 2017-01-06 18:04:06
我看你是音频后。
我只给你一个长版本,你可以删除或更改你不需要的部分。不过,它在GStreamer 0.10和GStreamer 1.0之间有所不同。我给两个:
的GStreamer 0.10下:
audio/x-raw-int,rate=44100,channels=2,width=16,depth=16,endianness=1234,signed=true
的GStreamer的1。0:
audio/x-raw,format=S16LE,channels=2,layout=interleaved
正如您所见,使用1.0时,您需要组合音频格式。 S16LE表示有符号+ int + 16宽度+小端(= 1234)。
- 1. appium的caps的语法是什么?我正在使用硒和rubygems
- 2. setTimeout的语法是什么?
- 3. 这是什么语法? C++
- 4. 这是什么语法?
- 5. 这是什么语法:union {}?
- 6. 这是什么Ruby语法?
- 7. 这是什么JavaScript语法?
- 8. 这是什么语法?
- 9. 这是什么css语法?
- 10. URL的语法是什么
- 11. 什么是这个语法
- 12. 什么是#的语法ANTLR
- 13. JSON语法,这是什么?
- 14. 这是什么Haskell语法?
- 15. keybinds.settings的语法是什么?
- 16. 什么是“select when”语法?
- 17. 什么是@ Html.DisplayFor语法?
- 18. 这是什么jQuery语法?
- 19. Gstreamer:如何在C中设置videomixer sink_0上限caps
- 20. Gstreamer错误无法将元素“udpsrc0”中的属性“caps”设置为“application/x-rtp ...”
- 21. :=语法的用法是什么?
- 22. c语言中的语法是什么语法作为参数
- 23. 这是什么CSS字体速记语法是什么意思?
- 24. 这是什么打字稿接口语法是什么意思?
- 25. 这个JS语法是什么意思,什么是'长度'?
- 26. 什么是restore.dg文件?它的语法是什么?
- 27. gstreamer中是否有内置语音?
- 28. 什么是适当的Rspec语法
- 29. 什么是这个语法图
- 30. LESS CSS中的`&::`语法是什么?
你有很多答案可供选择。你会考虑接受其中之一吗? – 2017-01-06 02:11:35