Как снимать и оцифровывать быстроперемещающиеся объекты?

Методики и секреты работы, предложения, know how и т.д.

Модератор: Модераторы Обсерватории

Как снимать и оцифровывать быстроперемещающиеся объекты?

Сообщение Mad_Cat » Сб июн 12, 2004 11:07 am

Доброго времени суток!

Я собираюсь снимать на Video8 камеры быстроперемещающиеся объекты. Происходить дело будет ночью, при освещении прожектором (достаточно сильным).
После оцифровки необходима чёткая, большая картинка с хорошим качеством, чтобы эти быстроперемещающиеся объекты были не смазаны и т.д.
У меня DC10+ (Pinnacle) стоит, 720x540 вроде неплохо выходит. Цифровал пока только Pinnacle Studio 9 (vfw дров не нашёл пока).
Размер файлов критичен лишь с той точки зрения, что потом видео будет покадрово анализироваться написанной программой, т.е. лучше, чтобы час видео занимал не более 1 ГБ при вышеприведённом разрешении.
Вообще после оцифровки видео будет в grayscale переводиться (нужно будет анализировать эти самые объекты).

Посему собственно вопрос: какой для этих целей лучше всего будет использовать кодек (непосредственно для оцифровки, а также для последующего сжатия)?

Какую Вы могли бы порекомендовать для таких целей литературу? Всё-таки речь не о фильмах идёт, о которых пишут в большинстве статей.

PS. В видео не очень силён, но активно изучаю статьи VicoNT-а (на его сайте :-)

_______
renamed by Lucky
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение STL » Сб июн 12, 2004 11:36 am

Неразрешимая проблема, нельзя обьять необятное и при чем тут кодеки?
При съёмке на видеокамеру стандартно идет 50 скорость затвора камеры, для четкой картинки надо хотя бы 500, а у тебя на камере ты можешь менять скорость затвора? Иначе будет все смазано. Да и сколько тебе люксов света надо, тут одним прожектором не обойдешься. На футбольных матчах стандарт - не менее 1500 люксов при освещении со всех сторон, иначе картинка будет необъёмная. так что тут дело в съёмке а не в кодеках, это уже совсем другое. :twisted:
STL
Старшина 1ой статьи
Старшина 1ой статьи
 
Сообщения: 237
Зарегистрирован: Пт янв 30, 2004 12:55 pm
Откуда: Кагул

Сообщение Yura » Сб июн 12, 2004 12:07 pm

Дак конечный результат в каком формате будет? mpeg1,2,4 ?
Yura
Старшина 1ой статьи
Старшина 1ой статьи
 
Сообщения: 250
Зарегистрирован: Ср мар 05, 2003 11:58 pm
Откуда: Новокузнецк

Сообщение Mad_Cat » Сб июн 12, 2004 12:07 pm

STL писал(а):<...>так что тут дело в съёмке а не в кодеках, это уже совсем другое. :twisted:

Совершенно не согласен !
К проблеме надо комплексно подходит: не только как можно лучше отснять, но и как можно лучше оцифровать.
Как снимать, я потом разберусь, а вопрост ТУТ потому и задаю, чтобы про оцифровку,а не операторскую работу что-нибудь услышать :wink:
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение Mad_Cat » Сб июн 12, 2004 12:11 pm

Yura писал(а):Дак конечный результат в каком формате будет? mpeg1,2,4 ?


:roll: Вообще-то в mpeg4, но разве что из тех соображений, что он вроде как лучше (качество/размер), хотя я пока не до конца поимаю всей разницы между ними.
Не могли бы Вы ссылкой кинуться по mpeg-ам? (англ. или рус. - всё равно; хотя может я сам сейчас гляну...).

Единственная проблема,а точнее для меня не совсем понятная вещь, заключается в том, что потом я должен буду из своей программы (под Борландом писать буду) проигрывать это видео. Или я любым кодеком, который у меня на компе есть могу пользоваться (т.е. как длл-ом, например)?
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение Леонид » Сб июн 12, 2004 12:58 pm

STL писал(а):
<...>так что тут дело в съёмке а не в кодеках, это уже совсем другое.

Совершенно не согласен !

А я полностью согласен, про "дело в съемке". Компьютером можно лишь подчеркнуть качество а не улучшить.
Вообще-то в mpeg4, но разве что из тех соображений, что он вроде как лучше (качество/размер), хотя я пока не до конца поимаю всей разницы между ними.
Если 1 час в 1 Гиг, то mpeg2 врядли тебе подойдет, рекомендую повозиться с VP6
Леонид
Лейтенант
Лейтенант
 
Сообщения: 763
Зарегистрирован: Пн сен 01, 2003 7:23 pm
Откуда: Луганск

Сообщение Mad_Cat » Сб июн 12, 2004 1:07 pm

Леонид писал(а): Компьютером можно лишь подчеркнуть качество а не улучшить.
<...>
Если 1 час в 1 Гиг, то mpeg2 врядли тебе подойдет, рекомендую повозиться с VP6


Во-первых, я о том и говрю, чтобы подчекнуть,а не ухудшить .
Или вы хотите сказать, что главное снять, а там можно оцифровывать чем угодно и как угодно?!?
Никак не ожидал такой реакции :roll:

Во-вторых, я про мпег2 вроде и не говорил ничего )
А вот на VP6 тогда посмотрю, спасибо.

PS. Ещё раз видимо стоит написать: цель - не испорить видео, а как было у VicoNT-а: произвести Захват и обработку аналогового видео с максимальным качеством для сжатия в MPEG-4., например. Только я на mpeg4 не настаиваю.
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение Yura » Сб июн 12, 2004 2:57 pm

На счет кодеков - применяй зарекомендовавшие себя напр.Divx Xvid
про них и на фореме много сказано!
Yura
Старшина 1ой статьи
Старшина 1ой статьи
 
Сообщения: 250
Зарегистрирован: Ср мар 05, 2003 11:58 pm
Откуда: Новокузнецк

Сообщение Ал » Сб июн 12, 2004 3:09 pm

Любым mpeg4, vp62 и даже mpeg2 будет полная лажа, просто смерть. Чем хуже исходник (а, судя по описанию, он будет ужасный), тем катастрофичнее нарастают артефакты сжатия. Если предполагается программная обработка -- только несжатое видео (сжатое без потерь). В крайнем случае -- mjpeg с максимальным качеством, но ни в коем случае не mpeg.
Ал
Матрос
Матрос
 
Сообщения: 25
Зарегистрирован: Ср апр 21, 2004 9:24 pm
Откуда: Россия, Москва

ещё вопросик

Сообщение Mad_Cat » Сб июн 12, 2004 3:12 pm

Yura писал(а):На счет кодеков - применяй зарекомендовавшие себя напр.Divx Xvid
про них и на фореме много сказано!

Ну ладно, раз кодек не столь важен, то какие тогда для него стоит сделать настройки? Поянтное дело, что надо экспериментировать, но вот один момент мне не ясен:
Как быть с битрэйтом?
Ведь я не ограничиваю себя рамером болванки (~700MB). Везде пишут, как его рассчитывать (и в битрэйт калькуляторах тоже) при записи на СД.
Существует ли какая-либо таблига (график), отражающий качество в зависимости от битрэйта?

И ещё небольшой вопросик:
Если мне очень критично, чтобы не выпадали кадры, то можно ли порекомендовать какой-то конкретний кодеек/кодеки или методику?

PS. На видеоизображении надо будет определят покадрово положение объекта, причём привязывать его ко времени с точностью до кадра (т.е. 1/25 сек).
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение Ал » Сб июн 12, 2004 3:19 pm

И кстати, разрешение картинки Video8 камеры равно (гор*верт) примерно 352*576. И захват этого в виде 720*540 -- это песня без слов.

Вы все-таки послушайтесь советов людей и сперва проверьте, что там Ваши камеры вообще показывают, прежде чем сжимать.

И кстати, как Вы собираетесь avi файл сжатый в программу на Борланде брать? Ваша прога умеет сама кодек подцеплять, Вы это уже придумали?
Ал
Матрос
Матрос
 
Сообщения: 25
Зарегистрирован: Ср апр 21, 2004 9:24 pm
Откуда: Россия, Москва

проблемка

Сообщение Mad_Cat » Сб июн 12, 2004 3:20 pm

Ал писал(а):только несжатое видео (сжатое без потерь). В крайнем случае -- mjpeg с максимальным качеством, но ни в коем случае не mpeg.


Один эксперимент будет порядка 30 минут хотя бы длиться. В несжатом варианте (только вот в Studio 9 к Pinnaclе-у не нашёл, как выставить HUFFYUV MPEG - не подскажите ли?) у меня 20 минут получилось на 3.2 ГБ => пол часа будет по 5 ГБ.
Мне надо будет по многу раз прогонять этот ролик через свою прогу, чтобы параметры распознавания подобрать, поэтому, учитывая и то, что работать она вряд ли будет быстро (до этого я видео не "программировал" :( ), несжатое видео не очень бы хотелось иметь.

Если подробнее, то эти 30 минут - движение (быстрое) объекта в 0 - 3х метрах от камеры при сильном освещении ночью, т.е. после фильтрации больше половины изображения будет чёрным практически (оно мне НЕ нужно). Поэтому и возникла идея - жать.
Можно ли сжимать выборочно: лишь статику?
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение Mad_Cat » Сб июн 12, 2004 3:29 pm

Ал писал(а):И кстати, разрешение картинки Video8 камеры равно (гор*верт) примерно 352*576. И захват этого в виде 720*540 -- это песня без слов.

720*540 не я придумал: в Pinnacle-овской студии почему-то такие настройки на качество best стоят :?:
Ал писал(а):Вы все-таки послушайтесь советов людей и сперва проверьте, что там Ваши камеры вообще показывают, прежде чем сжимать.

Да я уже проверял. Правда не ночью при прожекторе, но с последним проблем не должно быть...
Ал писал(а):И кстати, как Вы собираетесь avi файл сжатый в программу на Борланде брать? Ваша прога умеет сама кодек подцеплять, Вы это уже придумали?

Вот это меня пока и волнует. Если BSPlayer, например, кодеками пользуется как-то, то я не могу разве? Над этим я пока не работал, но друзья сказали, что можно. Или это только с open-source кодеками пройдёт? Хотя и их ведь не так уж и мало (VP5, некоторые MPEG2 и MPEG4, насколько я понял из беглого поиска в инете).
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение KPOBOCOC » Вс июн 13, 2004 2:26 am

Mad_Cat,
1. если размер файла критичен не сам по себе (т.е. место есть и для больших файлов), то и незачем жать полученный после dc10 MJPEG AVI еще во что-то. Если ты боишься, что читаться такой файл будет медленно, то не бойся.
2. как читать АВИшки по кадрам - описано в MSDN, есть примеры в DirectX SDK, есть сырцы того же VirtualDub и кучи всяких других утилит.
KPOBOCOC
Лейтенант
Лейтенант
 
Сообщения: 625
Зарегистрирован: Чт янв 01, 1970 6:00 am

Сообщение Ал » Вс июн 13, 2004 3:05 am

Если разрешение видео X*Y, то через прогу пройдет все равно X*Y*25 байт в секунду (при ч/б изображении), КАКОЙ КОДЕК ни ставь. Все, что ты сожмешь (изуродовав видео), твоя прога с помощью кодека разожмет перед расчетом. В этом суть кодека.

Далее, ЛЮБОЙ mpeg кодек САМ определяет движение и старается его сгладить для сжатия, поэтому для твоих целей НИКАКОЙ mpeg кодек не подходит (они все заранее исказят картину).

Если большая часть картинки черная, то и несжимающий кодек huffyuv, и тем более mjpeg сильно его ужмут, так что не волнуйся. А вот никакой кодек с межкадровым сжатием (т.е. mpeg1/2 или 4) использовать нельзя категорически.

Ты так заботишься о размере файла и собираешься при этом увеличивать при захвате размер кадра вдвое? Еще раз -- МАКСИМАЛЬНАЯ ширина кадра в Video8 равна 352, захват с большей шириной -- это ПУСТЫЕ байты. А что тебе Студио говорит -- забудь поскорее.
Ал
Матрос
Матрос
 
Сообщения: 25
Зарегистрирован: Ср апр 21, 2004 9:24 pm
Откуда: Россия, Москва

Сообщение KPOBOCOC » Вс июн 13, 2004 5:59 am

Mad_Cat,
А вообще, твоему исходному требованию "необходима чёткая, большая картинка с хорошим качеством" камера Video8 вряд ли удовлетворит :-)

Ал,
что это за чешуя про ужасы межкадрового сжатия?! :mrgreen: DVD никогда не видел что ли?...
KPOBOCOC
Лейтенант
Лейтенант
 
Сообщения: 625
Зарегистрирован: Чт янв 01, 1970 6:00 am

Сообщение Ал » Вс июн 13, 2004 12:47 pm

КРОВОСОС, а ты перечитай, что человеку нужно. Он хочет программой замерять отклонения объектов на каждом кадре от предыдущего. По алгоритму mpeg (любого номера) эти отклонения уже обработаны, например, если они невелики (по мнению алгоритма), он передает их как отсутствие движения совсем. Если нужно мерить малые различия между кадрами, нельзя их обрабатывать алгоритмом, который сглаживает именно эти различия.

Все алгоритмы mpeg основаны на идее ВНЕСТИ ИСКАЖЕНИЯ, которые НА ГЛАЗ должны быть незаметны, а тут человек собирается смотреть видео не глазами, а прогой. И ты, и он сам это не учитывает.

А главное, что ему это сжатие нафиг не нужно -- прога все равно будет перед обработкой разжимать.
Ал
Матрос
Матрос
 
Сообщения: 25
Зарегистрирован: Ср апр 21, 2004 9:24 pm
Откуда: Россия, Москва

Это уже по конструктивнее

Сообщение Mad_Cat » Вс июн 13, 2004 2:00 pm

KPOBOCOC писал(а):1. если размер файла критичен не сам по себе (т.е. место есть и для больших файлов), то и незачем жать полученный после dc10 MJPEG AVI еще во что-то. Если ты боишься, что читаться такой файл будет медленно, то не бойся.

В первом приближении на размер можно конечно забить, но тогда эксперимент "сохранить" не удастя (по крайней мере DVD пишушего у меня не будет там...)
КРОВОСОС писал(а):2. как читать АВИшки по кадрам - описано в MSDN, есть примеры в DirectX SDK, есть сырцы того же VirtualDub и кучи всяких других утилит.

А ведь DC10 жмёт в Motion-JPEG аппаратно, но MJPEG у неё какой-то свой, который никто из монтажных прог не понимает. Как же я его тогда пойму? Надо переходить на софтовый Morgan или Pic Video, как это рекомендуется тут.
Ал писал(а):Ты так заботишься о размере файла и собираешься при этом увеличивать при захвате размер кадра вдвое? Еще раз -- МАКСИМАЛЬНАЯ ширина кадра в Video8 равна 352, захват с большей шириной -- это ПУСТЫЕ байты. А что тебе Студио говорит -- забудь поскорее.

А есть какие-нибудь статиь вроде этой, но посвящённые видеокамерам?
Студия называет 720 на 540 - Full-ом по обоим осям, а 352 - Half-ом, поэтому я и сдела вывод о том, что надо 720...
на "половинках", выражаясь пиннакловской терминологией, у меня он даже Дубом не открылся: картинка сыпалась (так же, как и при попытках проиграть файл). В чём может быть причина? В Пиннакловском MPEG-е?..
Последний раз редактировалось Mad_Cat Вс июн 13, 2004 2:06 pm, всего редактировалось 1 раз.
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

Сообщение VicoNT » Вс июн 13, 2004 2:05 pm

Ал
В качестве опровержения твоих "очень странных" мыслей по поводу "отклонения" - MPEG-2 I-frames only.... Подумай над ним... И, пожалуйста, добавляй ИМХО и старайся использовать правильную терминологию - иначе новый в этой области человек просто запутается (я про разрешение Video8)
Mad_Cat
Может, просто опишешь задачу подробнее? Нам будет проще помочь тебе...

Вчера любопытства ради прогулялся к ближайшему орешнику... :) т.е. ближайшему прожектору с камерой - поснимать летучих мышей, мотыльков и прочих... Камера у меня не нижнего ценового диапазона, с большим физ. размером матрицы и позволяет выставлять скорость затвора... Но результаты съемок летучих мышей меня не удовлетворили... Так что Video8 мягко говоря - тем более не самый подходящий вариант...
VicoNT
Капитан 2го ранга
Капитан 2го ранга
 
Сообщения: 5809
Зарегистрирован: Чт янв 01, 1970 6:00 am
Откуда: Новосибирск

Сообщение Mad_Cat » Вс июн 13, 2004 2:22 pm

VicoNT писал(а):Может, просто опишешь задачу подробнее? Нам будет проще помочь тебе...
<...>
Так что Video8 мягко говоря - тем более не самый подходящий вариант...


Так уж и быть:
Задача заключается в определении скорости полёта летучих мышей.
Методика измений не особо хитра: снимаем на камеру, фильтруем, чтобы мышь выделялась на фоне и ищем её координаты в пикселах, затем (размеры клетки, в которой мышь летает, известны) переводим в метры и вперёд...
Мышь снимается с двух камер ("перпендикулярно"), соотв. получаем x,y,z координаты, учитывая, что мы не в декартовой системе конечно же.
Т.е. вообще говоря, будем иметь траекторию полёта мыши на протяжении съёмки.

Конечно же будет неслабая погрешность, связанная не столько с тем, что Video8 хреновое, а с тем, что мышь будет то ближе, то дальше к камере, а также разным "местом" к камере каждый раз поворачиваться.
Вообще она не такая уж и большая (мышь).

Возможно я смогу достать на кафедре VHS (или даже SVHS) камеру. Там как раз есть 2 штуки :roll:

PS. Лучше попробовать хоть что-то, чем ничего не делать, а дома с клубком ниток (вместо мыши :D ) кое что получается, поэтому попробовать стоит.

PPS. Кое кто из знакомых мне порекомендовал поюзать Мплеер или Транскорд, так как там несложно самому в виде фльтра нужный алгоритм реализовать (это ведь опен сорс). Но тогда и VirualDub может подойти :-) Хотя хотелось бы сделать "stand-alone" прогу, т.е. в Борланде написать, учитывая то, что в MSDN-е всё есть (сам видел как-то).
С миру по байту - нищему винчестер (весьма неплохой)
Mad_Cat
Старший Матрос
Старший Матрос
 
Сообщения: 62
Зарегистрирован: Сб июн 12, 2004 10:50 am
Откуда: от компа (Москва)

След.

Вернуться в Методики работы: съемка, режиссура, видеомонтаж и пр

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3