Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 使用Gstreamer通过HTTP实时流式传输GL帧缓冲区_Qt_Gstreamer - Fatal编程技术网

Qt 使用Gstreamer通过HTTP实时流式传输GL帧缓冲区

Qt 使用Gstreamer通过HTTP实时流式传输GL帧缓冲区,qt,gstreamer,Qt,Gstreamer,我知道命令行相当于tcp流媒体,但它们需要某种类型的源 此命令流式传输图像文件 gst-launch-1.0 filesrc location=output.jpg!视频转换!tcpserversink端口=8085 要流式传输摄像头/测试视频,我们需要执行以下操作: gst-launch-1.0 videotestsrc!转换视频!tcpserversink端口=8085 gst-launch-1.0 v4l2src!转换视频!tcpserversink端口=8085 现在的问题可能更具体,但

我知道命令行相当于tcp流媒体,但它们需要某种类型的源

此命令流式传输图像文件

gst-launch-1.0 filesrc location=output.jpg!视频转换!tcpserversink端口=8085

要流式传输摄像头/测试视频,我们需要执行以下操作:

gst-launch-1.0 videotestsrc!转换视频!tcpserversink端口=8085

gst-launch-1.0 v4l2src!转换视频!tcpserversink端口=8085

现在的问题可能更具体,但我希望在下一步中集成QtGStreamer。说到这里,我需要知道如何构建一个Gstreamer管道(尤其是视频源),该管道从GL framebuffer获取提要并通过http/tcp进行流式传输

在我的cocoa应用程序中使用什么来代替
filesrc
videotestsrc
?我看到的几乎所有示例都是从相机或文件获取源代码提要,而不是从内存(帧缓冲区)获取源代码提要

由于我的应用程序进行屏幕转换,所以将每个帧写入文件并将其馈送到管道是不可行的,我相信Gstreamer不支持实时更新,因为
filesrc
没有像
videotestsrc
那样的
is-live
参数,因此即使输出文件中的文件发生了更改,它也不会更新帧


如何使用GStreamer包装器实时流式传输帧缓冲区数据(而不将其写入文件)

问题更多的是GStreamer。您需要指定延迟尽可能低的管道。对于其中一个管道项目,是否存在
latency
参数也是一个问题:可能实现,也可能不实现,因此您需要寻找此类过滤器,例如
rtpsrc
,但需要哪种管道?这太难猜了,要看情况而定。QtGStreamer所做的是创建一些类,特别是实现GStreamer
sink
以通过Qt进行渲染,但不会更改GStreamer本身。我说不出为什么要在这里。抱歉@AlexanderVX。我对问题进行了编辑,并对其进行了进一步澄清。谢谢你指出这一点。这听起来像是与@dtech有关,但它似乎与我试图实现的目标不同。我现在甚至不谈论交互和GUI。我只想将我的OpenGL帧缓冲实时传输到web。我对任何类型的解决方案都持开放态度,不仅仅是坚持使用Qt或GStreamer。现在检查所有管道组件文档(在互联网上很容易找到)。问题更多的是GStreamer。您需要指定延迟尽可能低的管道。对于其中一个管道项目,是否存在
latency
参数也是一个问题:可能实现,也可能不实现,因此您需要寻找此类过滤器,例如
rtpsrc
,但需要哪种管道?这太难猜了,要看情况而定。QtGStreamer所做的是创建一些类,特别是实现GStreamer
sink
以通过Qt进行渲染,但不会更改GStreamer本身。我说不出为什么要在这里。抱歉@AlexanderVX。我对问题进行了编辑,并对其进行了进一步澄清。谢谢你指出这一点。这听起来像是与@dtech有关,但它似乎与我试图实现的目标不同。我现在甚至不谈论交互和GUI。我只想将我的OpenGL帧缓冲实时传输到web。我对任何解决方案都持开放态度,不仅仅是坚持使用Qt或GStreamer。现在检查所有管道组件文档(在互联网上很容易找到)。