Задержка видео и запрос функций зеркального отображения
Недавно я приобрел веб-камеру Logitech Brio 4K для создания демонстраций продуктов. Как многие прокомментировали в сети, поставляемое Logitech программное обеспечение является, мягко говоря, минималистичным и позволяет только простой просмотр экрана и изменение настроек камеры. Запись невозможна. Это немного странно, потому что я купил веб-камеру у Logitech, может быть, десять лет назад, которая поставлялась с программным обеспечением, имеющим такую простую функциональность. Но в любом случае Logitech рекомендует Swiftcapture на своем веб-сайте, поэтому я пробую пробную версию.
У меня две проблемы:
1) Задержка видео на панели дисплея Swiftcapture составляет чуть более 2 секунд, что слишком много для записи демонстрации. Ни в программном обеспечении Logitech, ни в Skype такой проблемы нет.
2) Мне нужно иметь возможность зеркалировать видео, иначе будет слишком запутанно пытаться отслеживать то, что я делаю на экране.
По части оборудования я использую Mac Pro (конец 2013) мусорный бак, 12 ГБ ОЗУ, видеокарты AMD FirePro D300 2 ГБ.
Заранее спасибо за любую помощь.
Комментарии
Я не уверен, почему задержка такая высокая, хотя SwiftCapture оптимизирован для надежности и качества, а не для низкой задержки живого видео, что может объяснить разницу со Skype, который, конечно, оптимизирован в первую очередь для низкой задержки. Я также ожидаю, что Skype будет использовать поток с более низким разрешением и/или более низкой частотой кадров.
Вам нужно полное разрешение 4K для ваших записей? Если нет, то вам следует указать более низкое разрешение в настройках SwiftCapture (например, 1920x1080 или 1280x720), так как это должно уменьшить задержку.
Что касается функции зеркала, в настоящее время в SwiftCapture ее нет, однако я думаю, что это хорошая идея, поэтому я добавлю это в список «to do» для следующего обновления.
В дополнение к моему предыдущему сообщению, мы добавили функции переворота, вращения и зеркалирования в последнюю бета-версию SwiftCapture (в настоящее время 1.0.4b2).
В настройках есть две новые опции:
- Трансформация: обеспечивает различные опции переворота и вращения для видеопотока. Это влияет как на живую, так и на видео.
- Горизонтальное переворачивание живого видео: это режим «зеркала», который вы описали выше, в котором живое видео представлено с горизонтальным переворотом, как будто вы смотрите в зеркало. Это не влияет на захват видео; это влияет только на просмотр в реальном времени.
Пожалуйста, протестируйте эту новую версию и убедитесь, что она работает так, как и ожидалось.
Ого, как быстро вы отреагировали на запрос функции. Спасибо!
Извините, я пропустил подробности о разрешении в своем посте. Разрешение, которое я использую, — 1080p при 30 кадрах в секунду . 4K — это слишком для моих нужд. Мне пришлось перезагрузиться из-за другой проблемы, и с тех пор я попробовал снова.
Задержка теперь составляет около 0,4 секунды, не идеально, но вполне приемлемо. Интересно, что я попробовал камеру в 4K при 30 кадрах в секунду, и я бы сказал, что задержка составляет 0,6 секунды.
Рад помочь.
Задержка в 0,4 с для живого видео с разрешением 1080p звучит для меня нормально — не думаю, что это можно улучшить. Я провел тестирование с несколькими USB-камерами 1080p и вижу задержку в 0,5–1 с. SwiftCapture обрабатывает видеокадры сразу по мере их поступления, хотя между захватом и отображением на экране необходимо выполнить определенный объем обр
Похоже, что большинство программ, работающих с видео, предоставляют окно живого монитора с более низким разрешением в дополнение к записанному/транслируемому контенту в полном разрешении, чтобы обойти проблему задержки. Просто мысль...
Задержка не идет от отображения в реальном времени к экрану — эта часть очень быстрая и не выиграет от потока с более низким разрешением. Задержка возникает из-за низкоуровневой работы, которую должен выполнить драйвер, чтобы получить поток с камеры, обработать его и представить вызывающему программному обеспечению. К тому времени, как SwiftCapture впервые увидит кадр, уже пройдет некоторое время с момента его захвата, и обойти это никак нельзя. Надеюсь, 0,4 с будет достаточно для ваших целей — мне это кажется довольно низким.
Я нашел немного времени, чтобы продолжить оценку SwiftCapture. Перезагрузка, похоже, была отвлекающим маневром. Длительная 2-секундная задержка все еще присутствует, но я не осознавал, что она проявляется только при записи. 2-секундная задержка — это 1080p@30fps.
Если задержка постоянно увеличивается во время записи, то, вероятно, причиной увеличения задержки является дополнительная нагрузка на процессор Mac. Я посмотрю, есть ли что-то в SwiftCapture, что мы можем сделать по этому поводу, но возможно, что эта задержка неизбежна во время записи.