【发布时间】:2015-05-11 12:56:23
【问题描述】:
我只是想将虚拟视频保存到我的目录中。 在那种情况下,我最终会出现这个错误,所以我知道管道中有问题。
这里有没有遗漏参数?
gst-launch -v videotestsrc ! ximagesink !文件接收器位置=~/cupcake.mp4 警告:错误的管道:无法将 ximagesink0 链接到 filesink0
我只想录制视频。
【问题讨论】:
标签: gstreamer
我只是想将虚拟视频保存到我的目录中。 在那种情况下,我最终会出现这个错误,所以我知道管道中有问题。
这里有没有遗漏参数?
gst-launch -v videotestsrc ! ximagesink !文件接收器位置=~/cupcake.mp4 警告:错误的管道:无法将 ximagesink0 链接到 filesink0
我只想录制视频。
【问题讨论】:
标签: gstreamer
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版本)
【讨论】: