v4l2loopback SMPTE цветные полосы в Genymotion - PullRequest
0 голосов
/ 25 апреля 2020

Я работаю v4l2loopback на компьютере с Ubuntu 18.04 v4l2-ctl и virtualbox установлены.

Genymotion camera rainbow noise SMPTE color bars

Я использую приведенную ниже команду для инициализации петлевой камеры:

sudo modprobe v4l2loopback video_nr=2 card_label="Hello world" exclusive_caps=1 devices=1
v4l2-ctl --device=/dev/video2 --all

и выходные данные из второй команды, приведенной выше:

Driver Info (not using libv4l2):
    Driver name   : v4l2 loopback
    Card type     : Hello world
    Bus info      : platform:v4l2loopback-000
    Driver version: 5.3.18
    Capabilities  : 0x85208000
        Video Memory-to-Memory
        Read/Write
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps   : 0x05208000
        Video Memory-to-Memory
        Read/Write
        Streaming
        Extended Pix Format
Priority: 0
Format Video Output:
    Width/Height      : 416/720
    Pixel Format      : 'YU12'
    Field             : None
    Bytes per Line    : 416
    Size Image        : 449280
    Colorspace        : sRGB
    Transfer Function : Default (maps to sRGB)
    YCbCr/HSV Encoding: Default (maps to ITU-R 601)
    Quantization      : Default (maps to Limited Range)
    Flags             : 
Streaming Parameters Video Capture:
    Frames per second: 30.000 (30/1)
    Read buffers     : 2
Streaming Parameters Video Output:
    Frames per second: 30.000 (30/1)
    Write buffers    : 2

User Controls

                    keep_format 0x0098f900 (bool)   : default=0 value=0
              sustain_framerate 0x0098f901 (bool)   : default=0 value=0
                        timeout 0x0098f902 (int)    : min=0 max=100000 step=1 default=0 value=0
               timeout_image_io 0x0098f903 (bool)   : default=0 value=0

Теперь я могу передать данные со своего рабочего стола

sudo ffmpeg -f x11grab -r 25 -s 416x768 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video2

Или из моего потока OBS:

ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -f v4l2 /dev/video2

И оба работают отлично; потому что я могу просматривать выходные данные, используя WebRTC, Chrome, Firefox и ffplay:

ffplay /dev/video2

Моя машина также имеет веб-камеру, работающую на /dev/video0, которая прекрасно работает с genymotion.

Но когда я выбираю свой "Hello world", genymotion экспортирует шум (цветные полосы SMPTE) в качестве результата.

Что не так с моим Genymotion? Я обнаружил, что есть различия между выходом UV C и v4l2loopback.

1 Ответ

1 голос
/ 27 апреля 2020

Можете ли вы предоставить журналы эмулятора Genymotion, расположенного здесь ~/.Genymobile/Genymotion/deployed/<yourdevice>/genymotion-player.log, там могут быть интересные идеи.

...