如何解决当我们在appsink元素之前使用videoconvert元素时,它的重要性是什么?
我正在尝试在OpenCV中使用gstreamer管道。为此,我创建了VideoCapture类的实例,如下所示:
cv::VideoCapture cap{"filesrc location=/home/10_Years_Compiling_blue_1280x720.jpg ! "
"jpegdec ! "
"videoconvert ! "
"video/x-raw,format=RGB ! "
"videoconvert ! "
"video/x-raw,format=UYVY ! "
"appsink "};
然后我应用了我的自定义转换算法,该算法的输出结果是nv12格式的原始帧。我尝试使用以下VideoWriter实例将此帧发送到gstreamer管道:
cv::VideoWriter writer { "appsrc ! "
"videoconvert ! "
"filesink location=/home/refout.nv12",cv::CAP_GSTREAMER,30.0,// fps
cv::Size{WIDTH,HEIGHT},true};
但是生成的“ refout.nv12”文件不包含任何字节。当我在VideoCapture实例化的appsink元素之前插入“ videoconvert”元素时,我可以成功获得“ refout.nv12”。
那么,在这种情况下,“ videoconvert”元素的作用是什么?没有“ videoconvert”元素,有什么方法可以成功运行spesified示例吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。