动态刷新输入文件是不可能的(至少使用filesrc
)。
此外,您的示例使用freeze
,这将防止图像更改。
一种可能的方法是使用multifilesrc
andvideorate
代替。
multifilesrc
可以读取很多文件(提供类似于 scanf/printf 的模式),并且videorate
可以控制速度。
例如,您创建 100 张图像,格式为 image0000.jpg、image0001.jpg、...、image0100.jpg。然后连续播放它们,每张图像在 1 秒内播放:
gst-launch multifilesrc location=~/image%04d.jpg start-index=0 stop-index=100 loop=true caps="image/jpeg,framerate=\(fraction\)1/1" ! jpegdec ! ffmpegcolorspace ! videorate ! v4l2sink device=/dev/video2
更改图像数量stop-index=100
和更改速度caps="image/jpeg,framerate=\(fraction\)1/1"
有关这些元素的更多信息,请参阅 gstreamer.freedesktop.org/documentation/plugins.html 上的文档
编辑:看起来你使用 GStreamer 0.10,而不是 1.x
在这种情况下,请参考旧文档multifilesrc和videorate