Gstreamer 无法保存gstream videosink

Gstreamer 无法保存gstream videosink,gstreamer,Gstreamer,我只是想把虚拟视频保存到我的目录中。 在这种情况下,我最终犯了这个错误,因此我知道管道中出现了问题 我是否遗漏了任何参数 gst发布-v videotestsrc!西马杰辛克!文件链接位置=~/cupcake.mp4 警告:错误管道:无法将ximagesink0链接到filesink0 我只想录制视频 ximagesink是一个sink元素,因此没有输出(源pad)。 此命令将告诉您有关元素的详细信息: gst-inspect-1.0 ximagesink 请注意,ximagesink只有接收

我只是想把虚拟视频保存到我的目录中。 在这种情况下,我最终犯了这个错误,因此我知道管道中出现了问题

我是否遗漏了任何参数

gst发布-v videotestsrc!西马杰辛克!文件链接位置=~/cupcake.mp4 警告:错误管道:无法将ximagesink0链接到filesink0


我只想录制视频

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

gst-inspect-1.0 ximagesink
请注意,ximagesink只有接收器焊盘,没有源焊盘,因此它不会生成任何输出

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

gst-launch-1.0 videotestsrc ! filesink location=~/cupcake.raw
不幸的是,这仍然不是您想要的,因为videotestsrc将生成原始视频,而不是编码或多路复用到mp4。如果您想要mp4,您需要将其放入mp4mux,该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消息指示元素已完成工作。如果没有该标志,管道将被简单地中断和中止

无论如何,我建议回到应用程序开发手册: gst-launch-1.0的手册页也很有用


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

感谢您的回答,实际上我可以在主机上以*mp4格式录制视频。当我在我的OMPA目标上尝试这个类似的命令时,我发现ffenc包丢失了,但我试图安装sudo apt get ffmeg,但仍然无法安装任何视频编码器。$gst启动videotestsrc num buffers=100!ffmpegcolorspace!ffenc_mpeg4!mp4mux!文件链接位置=~/pattern.mp4尝试安装gstreamer0.10-ffmpegThanks。我刚刚找到了另一个在我的目标中工作的编码器。。问题解决了。。。杜德