Điểm:1

Truyền Webcam từ Windows 10 sang Ubuntu 18.04 qua WSL2 và usbip

lá cờ mx

Lý lịch
Được rồi, vì vậy tôi đã có thể thiết lập máy tính để bàn Windows 10 của mình với WSL2 để chạy Ubuntu 18.04. Tôi đang cố gắng làm cho webcam có thể truy cập được và đã chọn và ghép các hướng dẫn sau đây để đưa bản thân đến vị trí hiện tại.

Tại sao
"Tại sao bạn phải trải qua nỗ lực khó khăn này? Có vẻ ngu ngốc." bạn có thể đang nói với chính mình. Chà, tôi nghĩ rằng thật ngớ ngẩn khi WSL2 không có cổng USB, vì vậy có điều đó. Nhưng tôi phát triển trên Windows theo truyền thống và với một dự án thị giác máy tính gần đây tôi đang thực hiện kết hợp SDK Nvidia Isaac (chỉ khả dụng trên Ubuntu 18.04), tôi đã hy vọng tiếp tục sử dụng Windows để phát triển và sau đó là Ubuntu 18.04 để thử nghiệm. Tôi đang cố gắng tránh khởi động kép vì việc chuyển đổi qua lại giữa các hệ điều hành rất tốn thời gian.

Tình trạng hiện tại
Những gì tôi có thể làm là chuyển qua camera web bằng usbip từ windows bằng các lệnh sau
.\usbip.exe liên kết -b 1-189
.\usbipd.exe -d -4

và sau đó về phía linux, tôi kết nối nó bằng cách chạy
sudo usbip đính kèm --remote=172.30.64.1 --busid=1-220
ngoại trừ việc tôi nhập địa chỉ từ xa và xe buýt của mình

Kết quả là khả năng nhìn thấy máy ảnh được gắn và nhìn thấy bởi linux, nhưng cho dù tôi sử dụng chương trình/thư viện nào, không ai trong số họ có thể mở webcam

Dưới đây là một số đầu ra từ các lệnh khác nhau mà mọi người đã sử dụng để hiển thị thông tin camera:

~$ v4l2-ctl --list-devices 
Webcam Logitech C930e (usb-vhci_hcd.0-1):
    /dev/video0
    /dev/video1

~$ thông tin v4l /dev/video0

### thông tin thiết bị v4l2 [/dev/video0] ###
thông tin chung
    VIDIOC_QUERYCAP
    trình điều khiển: "uvcvideo"
    thẻ : "Logitech Webcam C930e"
    bus_info : "usb-vhci_hcd.0-1"
    phiên bản: 4.19.84
    khả năng: 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)]

tiêu chuẩn

đầu vào
    VIDIOC_ENUMINPUT(0)
    chỉ số : 0
    tên: "Máy ảnh 1"
    loại: MÁY ẢNH
    bộ âm thanh : 0
    bộ chỉnh: 0
    tiêu chuẩn: 0x0 []
    trạng thái: 0x0 []

quay video
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
    chỉ số : 0
    gõ: VIDEO_CAPTURE
    cờ : 0
    description : "YUYV 4:2:2"
    định dạng pixel : 0x56595559 [YUYV]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
    chỉ số : 1
    gõ: VIDEO_CAPTURE
    cờ : 1
    mô tả: "Chuyển động-JPEG"
    định dạng pixel: 0x47504a4d [MJPG]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
    gõ: VIDEO_CAPTURE
    fmt.pix.width : 640
    fmt.pix.height : 480
    fmt.pix.pixelformat : 0x56595559 [YUYV]
    fmt.pix.field : KHÔNG CÓ
    fmt.pix.bytesperline : 1280
    fmt.pix.sizeimage : 614400
    fmt.pix.colorspace : SRGB
    fmt.pix.priv : 4276996862

điều khiển
    VIDIOC_QUERYCTRL(BASE+0)
    id : 9963776
    loại: INTEGER
    Tên: "Độ sáng"
    tối thiểu : 0
    tối đa : 255
    bước 1
    default_value : 128
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+1)
    id : 9963777
    loại: INTEGER
    tên: "tương phản"
    tối thiểu : 0
    tối đa : 255
    bước 1
    default_value : 128
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+2)
    id : 9963778
    loại: INTEGER
    tên: "bão hòa"
    tối thiểu : 0
    tối đa : 255
    bước 1
    default_value : 128
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+12)
    id : 9963788
    loại: BOOLESE
    name : "Nhiệt độ cân bằng trắng, Tự động"
    tối thiểu : 0
    tối đa : 1
    bước 1
    default_value : 1
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+19)
    id : 9963795
    loại: INTEGER
    tên: "đạt được"
    tối thiểu : 0
    tối đa : 255
    bước 1
    giá_trị_mặc_định : 0
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+24)
    id : 9963800
    loại: THỰC ĐƠN
    tên: "Tần số dòng điện"
    tối thiểu : 0
    tối đa : 2
    bước 1
    default_value : 2
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+26)
    id : 9963802
    loại: INTEGER
    tên: "Nhiệt độ cân bằng trắng"
    tối thiểu: 2000
    tối đa: 7500
    bước 1
    default_value : 4000
    cờ: KHÔNG HOẠT ĐỘNG
    VIDIOC_QUERYCTRL(BASE+27)
    id : 9963803
    loại: INTEGER
    Tên: "Độ sắc nét"
    tối thiểu : 0
    tối đa : 255
    bước 1
    default_value : 128
    cờ: không rõ
    VIDIOC_QUERYCTRL(BASE+28)
    id : 9963804
    loại: INTEGER
    tên: "Bù ngược sáng"
    tối thiểu : 0
    tối đa : 1
    bước 1
    giá_trị_mặc_định : 0
    cờ: không rõ

~$ sudo ffmpeg -y -t 5 -f video4linux2 -i /dev/video0 out.mov
ffmpeg phiên bản 3.4.8-0ubuntu0.2 Bản quyền (c) 2000-2020 các nhà phát triển FFmpeg
  được xây dựng với gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  cấu hình: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass -- enable-libbluray -- enable-libbs2b -- enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm -- enable-libmp3lame -- enable-libmysofa -- enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy -- enable-libsoxr -- enable-libspeex -- enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 -- enable-libxml2 -- enable-libxvid -- enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libie c61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil 55. 78.100 / 55. 78.100
  libavcodec 57.107.100/57.107.100
  libavformat 57. 83.100 / 57. 83.100
  libavdevice 57. 10.100 / 57. 10.100
  libavfilter 6.107.100/6.107.100
  libavresample 3. 7. 0 / 3. 7. 0
  libswscale 4. 8.100 / 4. 8.100
  libswresample 2. 9.100 / 2. 9.100
  libpostproc 54. 7.100 / 54. 7.100
/dev/video0: Lỗi đầu vào/đầu ra

~$ ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -frames 1 out.jpg
ffmpeg phiên bản 3.4.8-0ubuntu0.2 Bản quyền (c) 2000-2020 các nhà phát triển FFmpeg
  được xây dựng với gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  cấu hình: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass -- enable-libbluray -- enable-libbs2b -- enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm -- enable-libmp3lame -- enable-libmysofa -- enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy -- enable-libsoxr -- enable-libspeex -- enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 -- enable-libxml2 -- enable-libxvid -- enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libie c61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil 55. 78.100 / 55. 78.100
  libavcodec 57.107.100/57.107.100
  libavformat 57. 83.100 / 57. 83.100
  libavdevice 57. 10.100 / 57. 10.100
  libavfilter 6.107.100/6.107.100
  libavresample 3. 7. 0 / 3. 7. 0
  libswscale 4. 8.100 / 4. 8.100
  libswresample 2. 9.100 / 2. 9.100
  libpostproc 54. 7.100 / 54. 7.100
/dev/video0: Lỗi đầu vào/đầu ra

Tôi không chắc liệu mình có thư viện, trình điều khiển cụ thể hay những thứ ngẫu nhiên khác hay không, nhưng mọi thứ tôi đã thử cho đến nay dường như không giải quyết được vấn đề.

Câu hỏi
Linux nhìn thấy camera web, biết rằng đó là camera web nhưng không xử lý nguồn cấp dữ liệu camera. Bạn khuyên tôi nên làm gì để có thể xử lý nguồn cấp dữ liệu video? Tôi nghĩ rằng đây là một vấn đề với cài đặt của tôi khi tôi thiết lập linux ban đầu với menuconfig. Bất kỳ trợ giúp sẽ được đánh giá cao :)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.