1

我想使用 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吗?

4

1 回答 1

2

我不知道究竟是为什么,但我错过了这! videoscale !一步。! queue !显然没有必要。

这是工作线:

gst-launch filesrc location=~/Documents/my_video.ogv ! decodebin2 ! ffmpegcolorspace ! videoscale ! ffmpegcolorspace ! v4l2sink device=/dev/video0
于 2013-12-31T09:11:00.163 回答