首页 > 解决方案 > gstreamer 管道将我的相机流保存到文件中,但我需要一个管道将其实时流式传输到我的显示器

问题描述

好的,这行得通

这个 gstreamer 管道可以很好地将我的相机视频流保存到我的树莓派上的一个文件中。

gst-launch-1.0 v4l2src device=/dev/video0 !'视频/x-raw,帧率=30/1,格式=UYVY'!v4l2h264enc !'video/x-h264,level=(string)4' !文件接收器位置 = test_video6.h264

但是从我的相机显示实时视频流以便在我的显示器上实时观看它的正确管道是什么,而不是仅仅将其保存到文件中以便以后使用 VLC 查看它。

例如,我尝试添加!视频转换!autovideosink 到上述管道,但它不起作用。

标签: gstreamer

解决方案


尝试这个: gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4' ! decodebin ! videoconvert ! autovideosink

如果这不起作用,您可以使用此处的视频管道的一般示例并使用:

gst-launch-1.0 v4l2src ! decodebin ! videoconvert ! autovideosink

从那里您可以添加所需的设置。

编辑:另一种实现是创建文件的 tee 并将其发送到通过队列播放,在这种情况下您可以:

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4'! tee name="source"! queue ! filesink location = test_video6.h264 source. ! queue !  decodebin ! videoconvert ! autovideosink

推荐阅读