Показать сообщение отдельно
Старый 30.01.2011, 14:56   #230
dues
Старший Пользователь
 
Аватар для dues
 
Регистрация: 30.11.2009
Город: Москва
Регион: 77, 97, 99, 177
Машина: Volvo S60-II
Сообщений: 158
dues has a spectacular aura aboutdues has a spectacular aura about
По умолчанию

Цитата:
Сообщение от Albert.**** Посмотреть сообщение
А что бы не бежало у меня есть идея (не знаю можно ли сделать это) - при появлении пропусков кадров, для сохранения скорости потока забивать пропуски одинаковыми кадрами
Беда в том, что именно так сейчас и делается в 1.8.3.

Возникает дилема. Камера выдает определенное количество кадров, максимально сколько может, но не больше указанного нами значения.
Например, у нее есть режим 800*600*30.
Это значит, что камера при этом разрешении может выдать 30 кадров (в самых идеальных условиях).

Поэтому 1.8.3 выставляет именно это значение. Но процессор компа слаб и в настройках выставляется только 10 кадров в секунду, которые проц успевает пожать. Получается, что 20 кадров в секунду сыпятся с камеры просто так. Они расходуют ресурсы, вызывают копирование памяти и т.д. Но никак не используются.

Поэтому напрашивается решение - ограничить количество кадров камеры, чтобы не сыпались лишние кадры. Но тут еще 2 нестыковки.

Первая - хочется же писать максимально - днем 25, а вечером 5. Соответственно настройку придется менять. Вручную - не вопрос.
Автоматически? Тоже можно, но чтобы понять сколько камера может выдать в данный момент времени - ее нужно открыть с максимальным FPS и пару секунд подсчитывать средний FPS. Потом открыть еще раз в режиме который рассчитали. И по-хорошему это надо делать перед стартом каждого нового ролика. Двухсекундный замер приведет к тому, что мы потеряем пару секунд записи. А если в эти пару секунд произойдет ДТП? Будет обидно.

Вторая нестыковка - некоторые камеры (например та, которая в моем еее-пц), после открытия в 10FPS, выдает 5FPS, а при открытии в 30FPS, выдает 10FPS при одинаковой освещенности. Почему так происходит - ХЗ.
Драйвера или железо так работает - не знаю.

Я пока в раздумьях как решить все эти проблемы.

Универсальное решение сейчас использовано в 1.8.3. Камера открывается в максимальном режиме. В видеофайл пишется столько кадров, сколько указано. А если с камеры приходит недостаточно кадров, копируются старые кадры.

Но это решение жрет ресурсы....
__________________
Было: CarPC в Mazda Capella / Gigabyte GA-H55N/i3-530/8GB RAM/60GB SSD/Win7/Centrafuse 3.6/Автоспутник/CarDVR
dues вне форума   Ответить с цитированием