首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从描述创建QtGStreamer管道时出现的问题

从描述创建QtGStreamer管道时出现的问题
EN

Stack Overflow用户
提问于 2016-05-30 21:02:09
回答 1查看 590关注 0票数 0

我正在使用Qt GStreamer包装程序,并试图按照以下方式创建一个管道:

代码语言:javascript
复制
QGst::ElementPtr bin = 
    QGst::Bin::fromDescription("videotestsrc ! videoscale 
    ! video/x-raw,width=100,height=100");

但是,当我运行这个程序时,我会得到一个错误:

代码语言:javascript
复制
GStreamer-CRITICAL **: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed
terminate called after throwing an instance of 'QGlib::Error'
what():  no element "video"

我认为"/"存在一些问题,但不确定如何修复它。

gstreamer管道具有:

代码语言:javascript
复制
gst-launch-1.0 -v  videotestsrc ! videoscale ! video/x-raw,width=100,height=100 
! xvimagesink -e --gst-debug-level=3 sync=false

效果很好。

我试着转义引号,比如:

代码语言:javascript
复制
QGst::ElementPtr bin = 
    QGst::Bin::fromDescription(\""videotestsrc ! videoscale 
    ! video/x-raw,width=100,height=100\"");

但这给出了:

代码语言:javascript
复制
terminate called after throwing an instance of 'QGlib::Error'
what():  specified empty bin "bin", not allowed
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 13:24:15

在GStreamer中,这是caps的语法(元素功能):

视频/x-原始,width=100,height=100

解析器希望它位于两个元素之间,以确定它们应该如何连接。它本身并不是一个元素。如果要解析管道,可以在末尾添加一个identity。这将产生原始的100x100视频帧,一些未确定的颜色空间。

正如你可能知道的那样,除非你把一个水槽连接到管道上,否则管道什么也做不了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37533639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档