来自c920 + v4l2loopback的Gstreamer + h264流不起作用

时间:2014-06-27 10:18:44

标签: gstreamer h.264 v4l2 logitech v4l2loopback

我在使用cubieboard2和网络摄像头logitech c920的项目中工作了一个月,经过大量搜索和试用错误后,我决定使用gstreamer + v4l2loopback发送硬件编码的h264流,提供c920到vlc并使用此程序添加textoverlay。

当我尝试将gstreamer与v4l2loopback一起使用时出现问题。如果我使用罗技的原始流工作正常:

gst-launch-1.0 -v v4l2src ! "video/x-raw,format=YUY2,width=640,height=480,framerate=30/1" ! queue ! v4l2sink device=/dev/video1 sync=0

这也很好

gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true      src.vfsrc ! queue ! video/x-raw,format=\(string\)YUY2,width=320,height=240,framerate=10/1 ! v4l2sink device=/dev/video1 sync=0

但是当我使用h264流时:

gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true src.vidsrc ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! v4l2sink device=/dev/video1 sync=0

它不起作用,输出"流媒体任务暂停,原因未链接(-1)" 令人感到好奇的是,该程序输出的不同上限形成了我在管道上指定的上限:

  

/GstPipeline:pipeline0/GstUvcH264Src:src.GstGhostPad:vfsrc:caps =   video / x-raw,format =(string)YUY2,width =(int)2304,height =(int)1536,   pixel-aspect-ratio =(fraction)1/1,interlace-mode =(string)progressive,   帧率=(分数)2/1   /GstPipeline:pipeline0/GstUvcH264Src:src.GstGhostPad:vfsrc.GstProxyPad:proxypad0:   caps = video / x-raw,format =(string)YUY2,width =(int)2304,   height =(int)1536,pixel-aspect-ratio =(fraction)1/1,   interlace-mode =(string)progressive,framerate =(fraction)2/1

我很确定这个问题与此有关,但我不知道如何继续尝试解决这个问题,我们将非常感谢任何帮助。

我正在使用:

  • v4l2loopback(0.8.0)
  • Gstreamer 1.2.4
  • cubieboard2(arm computer)
  • webcam logitech c920

0 个答案:

没有答案