我知道通过tcp流媒体的命令行等价物,但它们需要一些类型的源。
此命令流式传输图像文件
gst-launch-1.0 filesrc location=output.jpg ! videoconvert ! tcpserversink port=8085
要播放相机/测试视频,我们需要执行类似的操作
gst-launch-1.0 videotestsrc ! convertvideo ! tcpserversink port=8085
gst-launch-1.0 v4l2src ! convertvideo ! tcpserversink port=8085
问题可能是GStreamer现在更具体,但我希望在下一步中整合QtGStreamer。说到这一点,我需要知道如何构建一个Gstreamer管道(特别是视频源),它从GL帧缓冲区获取源并通过http / tcp传输它。
在我的可可应用中使用什么代替filesrc
或videotestsrc
?我见过的几乎所有例子都是从摄像机或文件而不是从内存(Framebuffer)获取源代码。
由于我的应用程序进行了屏幕转换,因此将每个帧写入文件并将其提供给管道是不可行的。我相信Gstreamer不支持它进行实时更新
filesrc
没有像is-live
这样的videotestsrc
参数,因此即使在输出文件中更改了文件,它也不会更新帧。
如何使用GStreamer包装器实时传输帧缓冲数据(不将其写入文件)?