Проблемы с записью видео с веб-камеры Logitech C920

Проблемы с записью видео с веб-камеры Logitech C920

Я пытаюсь записать видео 1080 @ 30FPS с веб-камеры Logitech C920. Просто, да? Ну, судя по всему, нет.

Сначала я попробовал на своем десктопе с 16.04, используя встроенное в Ubuntu приложение Cheese. Предварительный просмотр транслируется отлично на 30FPS, но как только я начинаю запись, частота кадров резко падает, вероятно, до ~15FPS (точно не знаю, так как Cheese не предоставляет счетчик FPS).

Затем я снова попробовал на своем десктопе с 16.04, используя guvcview. К сожалению, версия в репозиториях по умолчанию для 16.04, 2.02, имеетошибкачто заставляет его записывать видео как один неподвижный кадр. Ааааа... поэтому я установил его 2.05из неофициального PPA. Это решило вышеупомянутую ошибку, однако, когда я перехожу к записи видео (используя H.264 из аппаратного кодировщика камеры), первая секунда или около того видео записывается отлично, но затем частота кадров падает до 3-5 FPS.

Наконец, чтобы убедиться, что проблема не только в моем настольном компьютере, я установил на свой ноутбук guvcviewверсию 2.0518.04, но снова, когда я начинаю записывать видео (используя H.264 с аппаратного кодировщика камеры), первая секунда или около того видео записывается отлично, но затем частота кадров падает до 3–5 кадров в секунду.

Так что, черт возьми, здесь происходит? Это проблема libuvcсовместимости с Logitech C920? Я знаю, что это не проблема недостаточной мощности оборудования, так как у меня 6-ядерный процессор AMD в моем настольном компьютере и четырехъядерный 3-го поколения i7 в моем ноутбуке.

решение1

Я понял, как заставить это работать с guvcview.

я нашелэта почтав котором упоминалось, что проблема была в guvcviewперекодировании потока с камеры. Почему это вызвало ужасное падение частоты кадров, для меня загадка, учитывая, что загрузка моего процессора была крайне низкой...

В любом случае, исправление заключается в том, guvcviewчтобы использовать необработанный поток с камеры:

введите описание изображения здесь

Обратите внимание, что формат, в который вы указываете программе перекодировать (или нет), совершенно отличается от формата, который вы указываете ей транслировать с камеры:

введите описание изображения здесь

Также, с другой стороны, похоже, что либо я понятия не имею, как настраивать огромное количество параметров H.264 в guvcview, либо аппаратный кодер H.264 в Logitech C920 просто не так уж хорош. Я записал клип 1080p30 в MJPEG (что дало около 60 Мбит/с данных) и перекодировал его в 10 Мбит/с H.264 с помощью Veags Pro на моем компьютере с Windows, и результат оказался намного лучше потоковой передачи с веб-камеры напрямую в H.264, также на скорости 10 Мбит/с.

Связанный контент