LinuxForum.Fans
Тема

V4L2Loopback

Автор: koroleves 1 сообщений 4462 просмотров
#266010

Есть идея создания системы видеонаблюдения на основе MOTION, все хорошо, но меня не устраивает встроенный просмотрщик. Сразу же нашлось решение трансляции видео другими проеектами типа VLC или FFServer. Но я ни как не могу решить проблему совместного доступа к видеоустройству.

Карта видеозахвата HW-108Q9 _http://www.hawell.ru/products/Q9ser

Драйвера к карте ставил с AvREG, карта запускается и видео показывает




Нашел V4L2Loopback

Установил, запустил модуль

sudo modprobe v4l2loopback

Появилось новое устройство - /dev/video4 (карта поддерживает 4 видеоканала)

Запустил тестовый модуль

gst-launch -v videotestsrc ! "video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)I420" ! v4l2sink device=/dev/video4
consumer


minimal mplayer playback mplayer tv:// -tv device=/dev/video4

Mplayer открыл тестовый поток, все работает

Дальше попытался перенаправить сигнал с /dev/video0 на /dev/video4

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-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:

С похожим результатом

libv4l2: error getting pixformat: Недопустимый аргумент

Что делать?

Войдите или зарегистрируйтесь, чтобы ответить.