Чем заменить vloopback на новом ядре?
Модератор: /dev/random
-
ghost
- Сообщения: 158
Чем заменить vloopback на новом ядре?
Чем заменить vloopback на ядре 3.0? Начиная с 2.6.38 он больше не собирается из-за удаления из ядра v4l1 и сама прога не обновляется
. Или как можно с клонировать /dev/video0.
-
needDrivers
- Сообщения: 4
Re: Чем заменить vloopback на новом ядре?
Мне тоже интересно!
up
up
-
/dev/random
- Администратор
- Сообщения: 5498
- ОС: Gentoo
Re: Чем заменить vloopback на новом ядре?
Уже отвечено здесь: Виртуальная вебкамера
-
needDrivers
- Сообщения: 4
Re: Чем заменить vloopback на новом ядре?
Спасибо! v4l2loopback собрался и запустился.
Только не понимаю, вроде оригинальный vloopback должен был создавать клоны существующей камеры (/dev/video0), а этот создает пустое устройство. Как создать клон существующей камеры?
Мне это нужно для использования камеры двух приложениях одновременно.
Только не понимаю, вроде оригинальный vloopback должен был создавать клоны существующей камеры (/dev/video0), а этот создает пустое устройство. Как создать клон существующей камеры?
Мне это нужно для использования камеры двух приложениях одновременно.
-
/dev/random
- Администратор
- Сообщения: 5498
- ОС: Gentoo
Re: Чем заменить vloopback на новом ядре?
Это устойство выдаёт то, видео, которое ему в данный момент скармливают.
Попробуйте так:
gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
(здесь /dev/video0 - настоящая камера, а /dev/video1 - v4l2loopback, у вас имена могут отличаться)
Надеюсь, в будущем разработчики добавят возможность клонировать устройство напрямую.
Попробуйте так:
gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1
(здесь /dev/video0 - настоящая камера, а /dev/video1 - v4l2loopback, у вас имена могут отличаться)
Надеюсь, в будущем разработчики добавят возможность клонировать устройство напрямую.
-
needDrivers
- Сообщения: 4
Re: Чем заменить vloopback на новом ядре?
Всё работает! Спасибо!
Теперь куда эту строчку правильно вставить, чтобы при старте системы грузилось?
Теперь куда эту строчку правильно вставить, чтобы при старте системы грузилось?
-
koroleves
- Сообщения: 3
Re: Чем заменить vloopback на новом ядре?
А у меня не работает Карта видеозахвата Hawell HW-108Q9
gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1 отвечает
$ gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video4
Установка конвейера в состояние PAUSED...
libv4l2: error getting pixformat: Недопустимый аргумент
ОШИБКА: Конвейер не хочет становиться на паузу.
ОШИБКА: из элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not negotiate format
Дополнительная отладочная информация:
gstbasesrc.c(2830): gst_base_src_start (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Check your filtered caps, if any
Установка конвейера в состояние NULL...
Освобождение конвейера..
что делать?
gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1 отвечает
$ gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video4
Установка конвейера в состояние PAUSED...
libv4l2: error getting pixformat: Недопустимый аргумент
ОШИБКА: Конвейер не хочет становиться на паузу.
ОШИБКА: из элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not negotiate format
Дополнительная отладочная информация:
gstbasesrc.c(2830): gst_base_src_start (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Check your filtered caps, if any
Установка конвейера в состояние NULL...
Освобождение конвейера..
что делать?
-
koroleves
- Сообщения: 3
Re: Чем заменить vloopback на новом ядре?
пытаюсь далье и без успеха....
gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! ffmpegcolorspace ! deinterlace ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1 ! v4l2sink device=/dev/video4
Установка конвейера в состояние PAUSED...
libv4l2: error getting pixformat: Недопустимый аргумент
Конвейер работает и не требует состояния PREROLL...
Установка конвейера в состояние PLAYING...
New clock: GstSystemClock
ПРЕДУПРЕЖДЕНИЕ: от элемента /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Многое из буфера было отброшено.
Дополнительная отладочная информация:
gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! ffmpegcolorspace ! deinterlace ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1 ! v4l2sink device=/dev/video4
Установка конвейера в состояние PAUSED...
libv4l2: error getting pixformat: Недопустимый аргумент
Конвейер работает и не требует состояния PREROLL...
Установка конвейера в состояние PLAYING...
New clock: GstSystemClock
ПРЕДУПРЕЖДЕНИЕ: от элемента /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Многое из буфера было отброшено.
Дополнительная отладочная информация:
gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
-
koroleves
- Сообщения: 3
Re: Чем заменить vloopback на новом ядре?
Нашел похожий пост, но так и не понял, что делать
$ sudo insmod v4l2loopback devices=2
Check to see, sure enough /dev/video0 and /dev/video1 are created.
$ gst-launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video0
(we get the pixformat error)
(in another terminal window)
$ cheese
Cheese shows video fine.
Stop cheese
cntl-c to kill the gst-launch, then change the output device to /dev/video1, eg,
$ gst-launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video1
Repeat cheese tests, all ok. So far we have demonstrated that the driver lets you write to the /dev/video device of your choice.
However, after a variable number of executions of
$ gst--launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video0
and killing it with cntl-c, the /dev/video0 device gets 'stuck' - eventually you see a message which indicates that it is not available (I will try to get that for you but for now, let's move on)
At that point you can STILL
$ gst--launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video1 (the other device is ok)
Kill that and try to
$ sudo rmmod v4l2loopback
You cant! It is still in use by vdeodev (and v4l2_compat_ioctl32)
You can't even
$ sudo rmmmod -f (any or all of those devices)
Uh oh.
umlaeute referenced this issue
8 months ago
Closed
Issue #8: yuv4mpeg_to_v4l2 V4L2_PIX_FMT_YUV420 does not work with flash actionscript getCamera
Особенно смущает последний коментарий
$ sudo insmod v4l2loopback devices=2
Check to see, sure enough /dev/video0 and /dev/video1 are created.
$ gst-launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video0
(we get the pixformat error)
(in another terminal window)
$ cheese
Cheese shows video fine.
Stop cheese
cntl-c to kill the gst-launch, then change the output device to /dev/video1, eg,
$ gst-launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video1
Repeat cheese tests, all ok. So far we have demonstrated that the driver lets you write to the /dev/video device of your choice.
However, after a variable number of executions of
$ gst--launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video0
and killing it with cntl-c, the /dev/video0 device gets 'stuck' - eventually you see a message which indicates that it is not available (I will try to get that for you but for now, let's move on)
At that point you can STILL
$ gst--launch-0.10 [ourvideoSrouce] ! queue ! videoscale ! videorate ! video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)UYVY ! v4l2sink device=/dev/video1 (the other device is ok)
Kill that and try to
$ sudo rmmod v4l2loopback
You cant! It is still in use by vdeodev (and v4l2_compat_ioctl32)
You can't even
$ sudo rmmmod -f (any or all of those devices)
Uh oh.
umlaeute referenced this issue
8 months ago
Closed
Issue #8: yuv4mpeg_to_v4l2 V4L2_PIX_FMT_YUV420 does not work with flash actionscript getCamera
Особенно смущает последний коментарий