【问题标题】:Gst-launch: Saving every image of a video stream while watching itGst-launch:在观看视频流时保存每个图像
【发布时间】:2014-09-22 07:11:14
【问题描述】:

我目前正在尝试使用 gst-launch 将视频流保存到文件中,同时观看视频本身(使用 v4l2src)。到目前为止,我通过使用将图像保存到文件来解决这个问题! multifilesink 同时拥有一个 tcl 脚本,该脚本会自动在 X 窗口的一个文件夹中显示最新文件。 这可行,但我当然想减少一点延迟。

是否有可能只使用 gst-launch 来做到这一点?不幸的是,我对 gstreamer 不是很有经验。是否可以在使用 multifilesrc 显示文件时使用 multifilesink 保存文件?还是只有 gst-launch 是不可能的?

【问题讨论】:

    标签: gstreamer v4l2 gst-launch


    【解决方案1】:

    有可能,有一个 'tee' 元素将复制其源垫中的流。

    所以,例如:

    gst-launch-1.0 v4l2src ! tee name=t ! queue ! videoconvert ! autovideosink t. ! queue ! videoconvert ! jpegenc ! multifilesink location=image_%06d.jpg
    

    这应该让它显示并使用 multifilesink 保存到 jpg。

    此外,您似乎使用的是 gstreamer 0.10,它已经(2 年?)过时且无人维护。请移至 1.x

    【讨论】:

    • 谢谢。相机的供应商告诉我使用 gstreamer 0.10,因为相机本身只使用它进行测试。已经想知道了。
    • 同样的解决方案适用于 0.10。 Tee 出现在 0.10 中,将 videoconvert 替换为 ffmpegcolorspace。其余的都应该是一样的。
    • 是的,我实际上不得不像 0.10 那样做。我正在使用的相机在使用 1.0 时似乎有问题。 Videoconvert 不起作用(它是单色相机)。
    • 这很奇怪。 Videoconvert 可以处理灰度输入(只要它不是真正的单色/二进制)它应该可以工作。您是否从管道中收到任何错误?您可能会在 jpegenc 之前缺少一个 videoconvert。 (我刚刚更新了上面的回复)。迁移到 1.x 会很棒,因为您将从更新和错误修复中受益。
    • 每当我使用 gst-launch 1.0 v4l2src !视频转换! ximagesink 它说:尝试在 YV12 中捕获,但是当我添加时设备返回格式 GREY !视频/x-raw,格式=灰色​​!它说它无法将 v4l2src 链接到 videoconvert。这就是我使用 0.10 的原因。它适用于 ffmpegcolorspace。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2017-12-08
    • 2013-10-02
    • 2017-02-26
    • 1970-01-01
    相关资源
    最近更新 更多