Запись HD через веб-камеру Logitech C930E

Я хочу записать видеопоток HD через эту веб-камеру (надеюсь, с помощью скрипта) для одновременной записи с экрана в один контейнер. (ниже вы можете увидеть код конвейера, который я использовал ранее)

Насколько я знаю, v4l2 не поддерживает запись 1080 для камеры этого типа с частотой кадров более 5 кадров в секунду, и мне действительно нужен поток HD со скоростью не менее 20 кадров в секунду. Есть ли другой способ или приложение для этой цели?

ниже приведен конвейерный код gstreamer, основанный на v4l2, и он может захватывать только 720P при 10 кадрах в секунду, что совсем недостаточно! Я верю, что ffmpeg имеет тот же результат, поскольку он также использует v4l2. (обратите внимание, что можно снимать 1080 с 5 кадрами в секунду (команда ниже), но я думаю, вы можете себе представить, каким будет качество (!), поэтому мне нужно, чтобы число кадров в секунду было больше 20)

Я очень ценю, если бы вы могли помочь мне с этим!

Вот код конвейера gstreamers:

 gst-launch -e mpegtsmux name="muxer" ! filesink location=/home/sina/Desktop/UI4.ts \
 v4l2src device="/dev/video1" ! video/x-raw-yuv, width=1280 ,height=720, \
  framerate=10/1 ! videorate ! ffmpegcolorspace ! x264enc ! muxer. v4l2src \
  device="/dev/video0" ! video/x-raw-yuv, width=1024 ,height=768,framerate=10/1 \
 ! x264enc !  muxer.  pulsesrc device="alsa_input.usb-046d_Logitech_Webcam_C930e_AAF8A63E-02-C930e.analog-stereo"\
  ! audioconvert ! lamemp3enc target=1 cbr=true  ! muxer. 

К вашему сведению, это результат форматов v4l2-ctl -d /dev/video1 --list-format:

ioctl: VIDIOC_ENUM_FMT
 Index       : 0
 Type        : Video Capture
 Pixel Format: 'YUYV'
 Name        : YUV 4:2:2 (YUYV)
     Size: Discrete 640x480
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 160x120
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 176x144
         Interval: Discrete 0.033s (30.000 fps) 
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 320x180
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 320x240
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 352x288
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 424x240
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 480x270
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 640x360
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 800x448
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 800x600
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 848x480
         Interval: Discrete 0.033s (30.000 fps)
         Interval: Discrete 0.042s (24.000 fps)
         Interval: Discrete 0.050s (20.000 fps)
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 960x540
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 1024x576
         Interval: Discrete 0.067s (15.000 fps)
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 1280x720
         Interval: Discrete 0.100s (10.000 fps)
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 1600x896
         Interval: Discrete 0.133s (7.500 fps)
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 1920x1080
         Interval: Discrete 0.200s (5.000 fps)
     Size: Discrete 2304x1296
         Interval: Discrete 0.500s (2.000 fps)
     Size: Discrete 2304x1536
         Interval: Discrete 0.500s (2.000 fps)

 Index       : 1
 Type        : Video Capture
 Pixel Format: 'MJPG' (compressed)
 Name        : MJPEG
     Size: Discrete 640x480
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 160x120
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 176x144
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 320x180
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 320x240
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 352x288
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 424x240
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 480x270
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 640x360
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 800x448
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 800x600
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 848x480
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 960x540
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1024x576
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1280x720
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1600x896
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 1920x1080
    Interval: Discrete 0.033s (30.000 fps)
    Interval: Discrete 0.042s (24.000 fps)
    Interval: Discrete 0.050s (20.000 fps)
    Interval: Discrete 0.067s (15.000 fps)
    Interval: Discrete 0.100s (10.000 fps)
    Interval: Discrete 0.133s (7.500 fps)
    Interval: Discrete 0.200s (5.000 fps)

1 ответ

Решение

Для захвата видео FullHD со скоростью более 5 кадров в секунду вам нужна камера, чтобы использовать закодированный формат, а не необработанное видео. Из вывода списка форматов v4l2 видно, что он поддерживает 30 кадров в секунду в FullHD с MJPEG.

Поэтому вместо использования видео /x-raw-yuv для шапки вы должны использовать image/jpeg. Помните, что если вам нужен конечный результат H264, используйте декодер перед перекодированием (jpegdec).

С учетом вышесказанного вы используете gstreamer 0.10, который на 3 года устарел и не используется. Настоятельно рекомендуется перейти на версию 1.x, которая является текущей версией апстрима и имеет, среди прочего, улучшенную поддержку не необработанных камер.

Другие вопросы по тегам