【问题标题】:Not able to save gstream videosink无法保存 gstreamer 视频接收器
【发布时间】:2015-05-11 12:56:23
【问题描述】:

我只是想将虚拟视频保存到我的目录中。 在那种情况下,我最终会出现这个错误,所以我知道管道中有问题。

这里有没有遗漏参数?

gst-launch -v videotestsrc ! ximagesink !文件接收器位置=~/cupcake.mp4 警告:错误的管道:无法将 ximagesink0 链接到 filesink0

我只想录制视频。

【问题讨论】:

    标签: gstreamer


    【解决方案1】:

    ximagesink 是一个接收器元素,因此没有输出(源垫)。 此命令将告诉您有关元素的详细信息:

    gst-inspect-1.0 ximagesink
    

    请注意,ximagesink 只有 sink pad 而没有 source pad,所以它不会产生任何输出。

    您可以使用以下命令将视频直接转储到文件中:

    gst-launch-1.0 videotestsrc ! filesink location=~/cupcake.raw
    

    不幸的是,这仍然不是您想要的,因为 videotestsrc 将生成原始视频,而不是编码或混合到 mp4。如果你想要 mp4,你需要将它放入 mp4mux 中,它将接收到的数据组织到 mp4 容器中。还建议对视频进行编码以减小其大小。假设您想使用 H.264 作为编解码器。您可以使用元素 x264enc 编码为 H.264

    gst-launch-1.0 -e videotestsrc ! x264enc ! mp4mux ! filesink location=~/cupcake.mp4
    

    请注意,我还添加了“-e”参数,这将使 gst-launch-1.0 发送 EOS 事件并等待 EOS 消息指示元素已完成工作。如果没有该标志,流水线就会被简单地中断和中止。

    在任何情况下,我都建议您回到应用程序开发手册:http://gstreamer.freedesktop.org/documentation/ gst-launch-1.0 的手册页也很有用。

    免责声明:您使用的是 gstreamer 0.10,它已经过时 3 年,请升级到 1.0(此答案针对 1.0,但可以通过将命令更改为 0.10 轻松将其应用于 0.10版本)

    【讨论】:

    • 确实感谢您的回答,实际上我可以在我的主机中以 *mp4 格式录制视频。当我在我的 OMPA 目标上尝试这个类似的命令时,我丢失了 ffenc pacakage,但我尝试安装 sudo-apt get ffmeg,仍然无法安装任何视频编码器。 $ gst-launch videotestsrc num-buffers=100 ! ffmpeg色彩空间! ffenc_mpeg4 ! mp4 多路复用器!文件接收位置=~/pattern.mp4
    • 尝试安装 gstreamer0.10-ffmpeg
    • 谢谢。我刚刚发现在我的目标中工作的其他编码器..问题解决了... D_D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 2017-05-25
    • 2020-02-26
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    相关资源
    最近更新 更多