【问题标题】:How you can use kinect camera inside google chrome?如何在谷歌浏览器中使用 kinect 相机?
【发布时间】:2014-09-03 16:37:45
【问题描述】:

编辑:是now supported

我想通过 webrtc 在 chrome 中使用 kinect。 在linux中UYVY is not supported.

是否可以创建一个新的设备描述符 (/dev/video1) 将 /dev/video0 从 UYVY 转换为 YUYV

【问题讨论】:

标签: linux google-chrome kinect


【解决方案1】:

我们需要创建一个虚拟设备(环回)

git clone git@github.com:umlaeute/v4l2loopback.git
cd v4l2loopback
make
sudo make install
sudo modprobe v4l2loopback // creates /dev/video2 or /dev/videox ...

安装 gstreamer

sudo apt-get install gstreamer0.10

从 sRGB 转换为 YUY2 (YUYV)

gst-launch-0.10 -v v4l2src device=/dev/video0 ! \
   ffmpegcolorspace ! \
   video/x-raw-rgb ! \
   ffmpegcolorspace ! \
   video/x-raw-yuv,format=\(fourcc\)YUY2 ! \
   v4l2sink device=/dev/video2

测试是否一切正常

gst-launch v4l2src device=/dev/video2 ! xvimagesink

v4l2-ctl -d /dev/video2 --all
Driver Info (not using libv4l2):
    Driver name   : v4l2 loopback
    Card type     : Dummy video device (0x0000)
    Bus info      : v4l2loopback:0
    Driver version: 0.8.0
    Capabilities  : 0x05000001
        Video Capture
        Read/Write
        Streaming
Video input : 0 (loopback: ok)
Video output: 0 (loopback in)
Format Video Capture:
    Width/Height  : 1280/1024
    Pixel Format  : 'YUYV'
    Field         : None
    Bytes per Line: 2560
    Size Image    : 2621440
    Colorspace    : SRGB
Format Video Output:
    Width/Height  : 1280/1024
    Pixel Format  : 'YUYV'
    Field         : None
    Bytes per Line: 2560
    Size Image    : 2621440
    Colorspace    : SRGB
Streaming Parameters Video Capture:
    Frames per second: 30.000 (30000/1000)
    Read buffers     : 8
Streaming Parameters Video Output:
    Frames per second: 30.000 (30000/1000)
    Write buffers    : 8
                    keep_format (bool)   : default=0 value=0
              sustain_framerate (bool)   : default=0 value=0
                        timeout (int)    : min=0 max=100000000 step=1 default=0 value=0
               timeout_image_io (bool)   : default=0 value=0

现在这应该可以通过虚拟视频设备 (0x0000) 在 chrome 中运行

【讨论】:

  • 您很高兴找到了解决方案!
  • 哈哈,是的,我连续 3 天破解了这个。我从视频编码中学到了很多东西。就像那个 vp8/vp9 编解码器并不真正支持实时流。
【解决方案2】:

只是为了更新 2014 年的答案。 gst-launch-1.0 有一些标志,所以要使用并且对我有用的新命令是:

gst-launch-1.0 -v v4l2src device=/dev/video0 ! \
           videoconvert ! \
           video/x-raw, format=RGB ! \
           videoconvert ! \
           video/x-raw,format=YUY2 ! \
           v4l2sink device=/dev/video1

其中/dev/video1 是环回设备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2016-02-06
    • 2014-07-12
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多