我想使用 gstreamer 和 v4l2loopback 将视频文件提供给我的虚拟视频设备。
使用videotestsrc
,类似这样的工作(即我可以从 VLC 打开我的虚拟设备):
gst-launch -v videotestsrc ! queue ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0
但是,完全相同的代码不适用于我的视频文件:
gst-launch filesrc location=~/Documents/my_video.ogv ! queue ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0
它实际上陷入了“PREROLLING”阶段:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
有人能看出为什么吗?我错过了filesrc
和之间的一些转换decodebin2
吗?