无法保存gstream videosink

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

我在这里是否缺少任何参数?

gst-launch -v videotestsrc! ximagesink! filesink location =〜/ cupcake.mp4警告:错误的管道:无法将ximagesink0链接到filesink0

我只想录制视频。


ximagesink是一个接收器元素,因此没有输出(源板)。 这个命令会告诉你一个元素的细节:

gst-inspect-1.0 ximagesink

请注意,ximagesink只有吸盘和没有源垫,所以它不会产生任何输出。

您可以使用以下方式将视频直接转储到文件:

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)

链接地址: http://www.djcxy.com/p/43927.html

上一篇: Not able to save gstream videosink

下一篇: Gstreamer pipeline stopped while playing only video from .mp4 file