категории | RSS

Оцифровываем видео при помощи ТВ–тюнера и VirtualDub
В этой статье постараюсь описать технологию захвата видео с помощью простейшей платы видеозахвата (какой является ТВ–тюнер), и дальнейшей его обработки. Описана последовательность действий, которые необходимо выполнить в популярной программе VirtualDub, к несомненным плюсам которой можно отнести простоту, бесплатность, широкую функциональность и возможность подключения/использования большого количества фильтров обработки видео.
После запуска программы выберите File — Capture AVI, программа перейдёт в режим захвата видео. Будет автоматически выбрана первая найденная карта оцифровки и захвата видео.
Оговорюсь сразу, захватывать цифровое видео через IEEE–1394 VirtualDub не может. Если нужно будет статья по вопросам захвата с DV камер, выложу, пишите.
Первое, сразу хочется написать о таком явлении, как фрагментация данных на жёстком диске. Если жёсткий диск используется для хранения файлов, то при копировании, удалении, копировании других файлов возникает так называемая «фрагментация свободного места». Это означает, что свободные области на жёстком диске не расположены подряд одна за другой. Жёсткий диск в состоянии стабильно обеспечивать максимальную скорость записи только в случае отсутствия необходимости позиционировать записывающие головки во время записи, то есть в случае непрерывной свободной области. В случае записи на фрагментированный диск, после заполнения одной свободной области жёсткий диск должен найти следующую свободную область и продолжить в запись в неё. Этот процесс требует времени, соответственно, он снижает скорость записи данных на диск. Если фрагментация диска велика, то скорость записи на диск может упасть весьма существенно.
Захват: в меню File вы можете выбрать имя файла, куда будет производиться захват (Set capture file), зарезервировать на диске место для захвата видео (Allocate disk space), сменить на предыдущий или следующий (Previous file ID, Next ID) номер, добавляемый к названию файла для захвата, или выйти из режима захвата (Exit capture mode). В меню Audio пункт Compression вызывает окно выбора формата сжатия звука , пункт Volume meter включает индикатор уровня громкости, пункт Windows mixer вызывает системный микшер для выбранной звуковой карты (выбрать звуковую карту для записи вы можете в Панели управления — Звуки и аудиоустройства — Аудио — Запись
Меню Video
Первые три пункта позволяют выбрать режим предварительного просмотра: поступающий с карты захвата сигнал (Overlay), записанное видео (Preview) или записанное видео с гистограммой (Preview w/histogram) — последнее удобно для настройки яркости и контрастности (или баланса белого). В пункте Format вы можете выбрать формат видео для захвата. В пункте Source можно выбрать источник видеосигнала и карту захвата. Пункт Compression позволяет выбрать кодер для сжатия видео: VirtualDub поддерживает только кодеры с VfW интерфейсом. Пункт Compression (compatibility) также позволяет выбрать кодек, но вместо внутреннего окна VirtualDub используется системный диалог: это имеет смысл использовать в случае, если окно VirtualDub’а не работает.
Следующая группа опций отвечает за различные эффекты, применяемые «на лету» во время записи. Пункт Cropping позволяет обрезать края изображения: Enable включает и выключает режим, Set bounds позволяет задать размер срезаемых краёв. Swap fields позволяет менять местами чётные и нечётные строки (полукадры). Noise reduction включает подавление высокочастотного шума. Vertical reduction позволяет уменьшать картинку вдвое, используя билинейную или бикубическую интерполяцию. Squish luminance range включает автоматическую коррекцию диапазона яркости.
При помощи Set custom format вы можете выбрать какой–либо нестандартный формат изображения для записи. При помощи Filters вы можете выбрать набор фильтров, которые будут применяться «на лету» к захватываемому видео. Enable RGB filtering включает возможность использования фильтров, работающих в формате RGB (далеко не все фильтры могут работать в режиме YUV). Такой режим более ресурсоёмок, потому как необходимо преобразовывать видео из YUV в RGB и обратно. Stretch to window позволяет растянуть область предварительного просмотра видео до размеров окна программы. Histogram выводит окно с гистограммой для настройки яркости и контрастности. BT8x8 tweak позволяет реализовывать какие–то дополнительные функции при работе с чипом захвата Conexant bt8x8, для этого нужно установить специальную программу BT8x8 tweak. Наконец в самом низу перечислены обнаруженные в системе устройства оцифровки и захвата аналогового видео: вы можете выбрать любое из них.
Меню Capture
Пункт меню Capture содержит управление непосредственно процессом захвата.
Capture video начинает захват, Capture video (compatibility mode) начинает захват в режиме совместимости — используйте такой вариант, если Capture video не работает. Test video capture (internal) позволяет проверить, хватает ли вычислительной мощности для обслуживания текущей конфигурации захвата: производится тестовый захват видео, но захваченное видео никуда не записывается.
Hide on capture позволяет не отображать предварительный просмотр при захвате. Display larger timer отображает время захвата крупным шрифтом. Show informational panel отображает справа информационную панель. Enable multisegment capture включает режим захвата в несколько файлов(сегментирование). Start capture on left… позволяет начинать процесс захвата по щелчку левой кнопки мыши в области просмотра программы. Autoincrement filename after capture позволяет после каждого захвата автоматически увеличивать номер, который добавляется к имени файла. Enable DirectDraw acceleration включает использование DirectX для отображения видео — такой режим работает быстрее, но не на всех конфигурациях. Окно Capture Settings содержит установки процесса захвата: записывать ли звук (Capture audio), начинать ли захват немедленно или ждать нажатия кнопки ОК (Wait for OK to capture), частота кадров для захвата (Frame rate), какой клавишей прерывать процесс захвата: никакой (None), Escape или пробел (Space), прерывать ли захват при нажатии левой или правой кнопки мыши (Abort on left/right mouse button) — причём клавиша и кнопка мыши для прерывания захвата действуют во всей системе, в какой бы программе вы не работали. Внизу окна находится ряд настроек, работающих только в режиме совместимости (compatibility mode): при каком проценте пропущенных кадров приостановить захват (Drop % limit), ограничение на количество кадров и блоков звука в файле (Maximum index entry), корректировать ли несовпадение длительности звука и видео путём пропускания кадров или добавления пустых кадров (Lock video stream to audio). Окно Capture Preferences содержит настройки программы в режиме захвата видео: драйвер устройства захвата видео по умолчанию (Default capture driver), имя файла, в которое по умолчанию будет производиться захват видео (Default capture file), позволяет сохранить текущие настройки захвата видео (Save current capture settings as default), настройки формата сжатия видео (video format) и звука (audio format) в качестве настроек по умолчанию. Также для каждого драйвера захвата можно выбрать режим просмотра видео по умолчанию (Initial display mode).
В окне Stop conditions вы можете задать условия остановки захвата: по прошедшему времени захвата (Capture time exceeds … seconds), по достижению файла определённого размера (File size exceeds … megabytes), по уменьшению свободного места на диске до заданного уровня (Free disk space drops below … megabytes) и по превышению количества пропущенных кадров определённого процента (Dropped frame ratio exceeds … percent). Кнопка Save позволяет сохранить настройки на будущее, кнопка Accept — только на текущий сеанс работы с программой
Окно Capture Timing управляет дополнительными возможностями программы по синхронизации видео и звука. В базовой версии программы вы можете лишь включить или отключить возможность корректировать несовпадение длительности звука и видео путём пропускания кадров или добавления пустых кадров. В модифицированной версии программы VirtualDubMod можно выбрать режим автоматической синхронизации звука и видео: передискретизировать звук «на лету», чтобы соответствовать частоте кадров видео (resample audio data…), вставлять или убирать кадры, чтобы соответствовать частоте дискретизации звука (add/drop frames…) или отключить такую коррекцию (no correction).
Окно Disk I/O управляет настройками записи на диск: размер буфера памяти (Chunk size), количество буферов (Chinks in buffer), отключить ли системную функцию кэширования записи на диск (Disable Windows write buffering — обязательно отключите кэширование!).
Capture drives позволяет выбрать несколько дисков, на которые будет производиться захват видео.
Информационная панель отображает текущее состояние процесса захвата. Количество захваченных кадров (Frames captured), прошедшее время (Total time), оставшееся время — исходя из количества свободного места на диске (Time left), полный размер захваченного видео (Total file size), объём свободного места на диске (Disk space free), текущая загрузка процессора (CPU usage). Раздел Video содержит такие параметры: размер захваченного видео (Size), средняя частота кадров (Average rate), поток данных (Data rate) и степень сжатия видео (Compression), средний размер кадра (Avg frame size), количество пропущенных кадров (Frames dropped). Раздел Audio: размер захваченного звука (Size), реальная частота дискретизации звука (Relative rate), поток данных (Data rate) и степень сжатия звука (Compression), величина коррекции длительности звука.
Обработка видео.
Убедитесь, что у вас отображается видеоряд до и после обработки фильтрами (Display input video и Display output video соответственно). По умолчанию кадр исходного видео отображается слева, а кадр после обработки фильтрами — справа. Вы можете поменять изображения кадров местами при помощи параметра Swap input/output panes. Также вы можете расположить изображение одного кадра под другим при помощи параметра Vertical display.
По умолчанию в качестве кадра обработанного видео VirtualDub показывает изображение, каким оно будет после обработки фильтрами. Если включить параметр Display decompressed output, то программа будет отображать этот же кадр после сжатия его выбранным методом (в Video — Compression). Такой режим существенно медленнее, но позволяет получить представление о том, как будет выглядеть видеозапись не только после обработки, но и после сжатия. На этапе промежуточной обработки используется метод сжатия без потерь или с минимальными искажениями, потому использование такого режима не является оправданным
VirtualDub: удаление ненужных фрагментов
Возможно, вы захотите сразу удалить какие–то фрагменты видеозаписи: например, шум в самом начале и в самом конце файла, реклама в ТВ трансляции и т.п. Для этого откройте полученный в результате захвата файл в VirtualDub, выделите ненужные фрагменты и исключите их из дальнейшей обработки (Edit — Delete). Лишь после того, как ненужные фрагменты удалены, сохраните звуковую дорожку в файл для обработки звука и не закрывая программы приступайте к обработке видео, для навигации по видеозаписи и выделения фрагментов используйте команды из меню Edit: исключить выделенную часть из дальнейшей обработки (Delete), сбросить выделение (Clear selection), выделить всю запись (Select all), перейти на начало записи (Beginning). Перейти в конец записи (End), предыдущий кадр (Previous frame), следующий кадр (Next frame), предыдущий ключевой кадр (Previous keyframe), следующий ключевой кадр (Next keyframe), назад на 50 кадров (Back 50 frames), вперёд на 50 кадров (Forward 50 frames). Перейти на начало выделенного фрагмента (Move to selection start), перейти в конец выделенного фрагмента (Move to selection end), перейти на кадр по номеру или по времени в записи (Go to), перейти на последний ключевой кадр (Go to last keyframe). Установить начало выделенного фрагмента в текущем кадре (Set selection start), установить конец выделенного фрагмента в предыдущем кадре (Set selection end), отменить все правки и вернуть видеозапись к исходному состоянию (Revert all edits). Большинство этих команд продублированы удобными «горячими клавишами», все они перечислены в меню программы.
VirtualDub: обработка видео
Чтобы перевести программу в режим обработки видео, выберите Video — Full processing mode. Теперь нужно настроить набор фильтров, который будет использоваться для обработки видео: Video — Filters. В этом окне можно добавлять (Add) и удалять (Delete) фильтры для обработки текущего файла, также вы можете изменить настройки любого фильтра (Configure), переместить его выше (Move Up) или ниже (Move Down) по списку: фильтры применяются к изображению в порядке списка (сверху вниз).Также на время обработки видео имеет смысл отключить обработку звука: Audio — No Audio. Это позволит не копировать ненужную звуковую информацию в файл, полученный при обработке видео. В случае если вы планируете дальнейшее редактирование видеозаписи в каком–то редакторе видео, вы можете подключить файл с обработанной и очищенной от шума звуковой дорожкой. Для этого найдите в меню Audio — WAV Audio... и выберите нужный файл. Редакторы видео позволяют загружать видеоряд и звуковую дорожку из разных файлов, потому подключать звук на этом этапе не обязательно: вы можете это сделать в редакторе, тем самым, сэкономив место на жёстком диске.
Обрезание краёв: cropping
В начале обработки видео нужно обрезать края изображения. По краям кадра содержится различный «мусор», искажённое изображение или же просто чёрные полосы. Для этого добавьте фильтр Null transform: он ничего не делает с изображением. В окне Filters выберите этот фильтр и нажмите Cropping. Появится окно для обрезания краёв кадра: тут вы можете выбрать, на сколько пикселей обрезать каждый из краёв кадра. Также в этом окне вы можете увидеть предварительный просмотр изображения с обрезанными краями, согласно текущим установкам. Проверьте, что края правильно обрезаны для всех частей видеозаписи.В принципе, VirtualDub позволяет обрезать края перед применением любого фильтра, но рекомендуется добавлять фильтр Null transform: ни для чего более, кроме обрезания краёв, он не пригоден. Так можно будет легко увидеть, на каком этапе в цепочке фильтров у изображения обрезаются края.Если видеозапись содержит чересстрочное видео, то обрезать верхний и нижний край необходимо только на чётное количество пикселей: иначе нарушится порядок полей.
Устранение артефактов чересстрочности: deinterlace
Подавляющее большинство фильтров рассчитано на работу с прогрессивным видео. Поэтому как можно раньше изображение необходимо избавить от артефактов чересстрочности. Следующий фильтр, который необходимо использовать — QS Deinterlace (или Smart Deinterlace, если QS вас почему–то не устраивает). Настройки у фильтров одинаковы: в группе Обработка видео (Motion processing) нужно выбрать самый медленный и качественный режим Сравнение полей и кадров (Frame–and–field differencing), отключить RGB–режим (Compare color channels (instead of luma)) и Режим смешивания цветов (Blend instead of interpolate…, это более быстрые, но менее качественные режимы), отключить Показать карту движения (Show motion areas only, этот режим используется для отладки фильтра), включить Использовать уравнения 3–й степени (Use cubic for interpolation) и Очистка шумов движения (Motion map denoising; это более медленные, но более качественные режимы). В группе Пороговые значения нужно указать 10–20 для Порога уровня движения (Motion threshold) и 100 для Порога смены сцены в кадре (Scene change threshold).
Устранение шума цветности
Далее следует очистить изображение от шума. В силу особенностей кодирования видео сигнала, цветовая составляющая содержит намного больше шумов, чем яркостная. Необходимо применить фильтр, который устранит шум в цветовой составляющей сигнала и не затронет яркостную составляющую. Такой фильтр называется Chroma Noise Reduction. В большинстве случаев подходят настройки по умолчанию, однако иногда приходится уменьшать силу воздействия фильтра: для этого нужно уменьшить ширину всех трёх кривых и степень воздействия на цветовые компоненты до 50-70%. Эффект фильтра более всего заметен на ярких областях изображения: голубое небо приобретает равномерную окраску, без движущихся цветных полос и пятен. Описываемый эффект плохо заметен на статических изображениях, но очень бросается в глаза при воспроизведении видео: шум постоянно движется и потому его легко увидеть.При чересчур сильных настройках фильтр создаёт заметные артефакты: множатся контуры движущихся тёмных объектов на ярком фоне, цвет контрастных объектов «вылезает» за пределы контуров объекта. Обязательно проверьте, нет ли такого эффекта после применения этого фильтра к вашей видеозаписи: найдите участок, где тёмные объекты перемещаются на светлом фоне, и просмотрите десяток–другой кадров подряд (Edit — Next frame или стрелка вправо на клавиатуре).
Устранение динамического шума
Следующий этап — устранение яркостного шума. Для этого используется фильтра Dynamic Noise Reduction, с параметром 8–12. Значения намного больше ведут к появлению заметных искажений изображения: очень сильное размытие деталей. Маленькие же значения не эффективны. Обычно значения из указанного диапазона дают оптимальный результат, но вы можете поэкспериментировать: для каждого видеоряда оптимум будет своим.
Устранение статического шума
Большинство видеозаписей не нужно дополнительно очищать от шума — лёгкий статический шум не будет заметен после изменения разрешения. Также нужно помнить, что применение фильтров, убирающих статический шум, снижает резкость изображения. Лучшим фильтром для устранения шумов является Smart Smoother HQ, однако он работает достаточно медленно. В качестве компромисса между качеством изображения и скоростью работы вы можете попробовать 2D Cleaner. Настройка Smart Smoother HQ. Укажите диаметр (Diameter) области поиска шумов вокруг каждого пикселя: чем большее число вы укажете, тем большего размера помехи могут быть обнаружены и устранены. Учтите, что скорость работы фильтра и резкость результирующего изображения падают при больших значениях диаметра. Параметр Threshold позволяет задать порог разности яркости для пикселей двух объектов: если яркость пикселей отличается на большую величину, то фильтр будет считать их принадлежащими разным объектам, и не будет сглаживать изображение. Меньшие пороговые значения убирают меньше шумов и меньше размывают изображение. Значение Amount позволяет формировать результирующее изображение, смешивая исходное изображение и результат работы фильтра: чем больше Amount, тем большее влияние будут иметь результат работы фильтра. Рекомендуется использовать наиболее совершенный режим Weighted average, Weighted with difference. Режим сравнения только яркости (Check greyscale) рекомендуется отключить. Режим Visualize blur позволяет удобно подбирать параметры фильтра. В этом режиме вместо изображения рисуется чёрно–белая картинка: чем темнее область, тем меньше она будет размыта в результате работы фильтра. Нажмите кнопку Show Preview, чтобы увидеть предварительный просмотр изображения после применения фильтра, включите режим Visualize blur. Увеличьте значение Maintain Diffweight таким образом, чтобы шум стал как можно светлее (обозначает размытие), а границы объектов всё ещё были тёмными (означает отсутствие размытия). Также вы можете подобрать параметры Diameter и Threshold, для сохранения резкости желательно их уменьшить. Не забудьте после завершения настройки отключить режим Visualize blur. Настройка 2D Cleaner. Необходимо указать пороговую величину Threshold и радиусы эллипса для поиска шумов по горизонтали X и по вертикали Y — подробное описание параметров см. выше, их природа такая же, как и у фильтра Smart Smoother HQ. При помощи кнопки Show Preview вы можете увидеть предварительный просмотр изображения после применения фильтра: режим Show sharp edges закрасит чёрным области, которые не будут размыты.
Корректирование изображения
После устранения шумов вы можете скорректировать вид вашей видеозаписи при помощи фильтров RGB (подстройка цветовых составляющих), Hue/Saturation/Intensity (подстройка яркости/цветности), Brightness/contrast (подстройка яркости/контрастности), White balance (автоматическая настройка баланса белого), Blur/sharpen (XSharpen, и т.п. — уменьшение или увеличение резкости).
Устранение статичных элементов изображения
Фильтр DeLogo понадобится, если вы хотите исключить устранить какой–то статичный элемент изображения, например логотип телеканала или дату съёмки. Фильтр практически вымарывает логотип, заполняя область пикселями, похожими на пиксели, окружающие логотип. Это приводит к тому, что вместо логотипа вы получите размытую область, причём, чем больше размер убираемого логотипа — тем больше размытие. Временная стабилизация изображения
Последняя операция над изображением — это временная стабилизация изображения. Что это за процесс, легко показать на примере: предположим значение какого–либо пикселя постоянно колеблется вокруг какого-то значения. Если мы приравняем значение этого пикселя постоянному значению, то «мерцание» исчезнет и такую видеозапись можно будет намного эффективнее сжать. Обычно эффект от применения таких фильтров не заметен глазом, зато сжимаемость видео существенно улучшается. Лучший фильтр из этого класса — YATS. Его не нужно настраивать: автор рекомендует использовать установки по умолчанию, если фильтр не вносит искажения (мне ни разу не доводилось видеть, чтобы YATS вносил искажения). К сожалению, этот фильтр исключительно медленный, потому вы можете попробовать использовать вместо него Temporal cleaner. Будьте внимательны, поскольку этот фильтр часто смазывает движущиеся объекты — в таком случае попробуйте уменьшить значения его параметров.
Выбор и настройка формата промежуточного сжатия
При помощи окна Video — Compression необходимо выбрать формат промежуточного сжатия видео. При помощи кнопки Configure вы можете открыть окно настройки соответствующего кодера. На этом этапе рекомендуется использовать формат сжатия HuffYUV (без потерь, настройки — по умолчанию) или PICVideo MJPEG с параметром 19. Если вы планируете дальнейшее редактирование видеозаписи, то использование любого из вариантом MPEG сжатия настоятельно не рекомендуется.
Сохранение параметров обработки изображения
При помощи команды File — Save processing settings можно сохранить текущие настройки обработки изображения: набор фильтров и их параметры, формат сжатия видео и его настройки, настройки обработки звука. При включённом параметре Include selection… также будет сохранена информация о выделенных и удалённых фрагментах. Для того, чтобы загрузить сохранённые ранее настройки обработки видео используйте команду File — Load processing settings.
Запуск обработки видео
Для того, чтобы запустить обработку видео, выберите команду File — Save As. Рекомендуется включить режим Don’t run this job now… — при этом задание на обработку видео будет добавлено в список заданий программы VirtualDub (File — Job control). Список заданий VirtualDub сохраняется в файл, потому он доступен не только во время текущего сеанса работы с программой. Это позволит легко запустить задание заново, если, например, компьютер зависнет во время обработки видео. Удалить выполненное задание (Status: Done) вы можете кнопкой Delete. Также кнопками Move up и Move down вы можете перемещать задания вверх или вниз по списку: они будут выполняться в порядке списка. При помощи кнопки Postpone вы можете отложить выполнение задания: оно не будет запущено после нажатия Start. Вернуть задание в состояние ожидания выполнения (Waiting) можно двойным щелчком мыши. Вы можете подготовить сразу несколько заданий, а потом запустить их на обработку кнопкой Start: они будут выполнены по очереди. Такой режим особенно удобен, если вы используете двухпроходное сжатие: вы можете настроить VirtualDub для последовательного выполнения двух проходов.
VirtualDub: финальное сжатие видео
Перед финальным сжатием видео необходимо сбросить все настройки по работе с видео и звуком: проще всего это сделать, перезапустив программу. После этого откройте файл с обработанным видеорядом, включите режим обработки видео (Video — Full processing mode), в Video — Compression выберите и настройте формат сжатия видео. Поскольку качественного сжатия в формат MPEG–4 вы можете добиться только в двухпроходном режиме, процесс сжатия придётся выполнять дважды: для первого и второго прохода. Удобно сразу настроить задания для выполнения обоих проходов: выберите команду File — Save As, включите режим Don’t run this job now… — при этом задание с первым проходом сжатия будет добавлено в список заданий (File — Job control). Теперь настройте кодер для выполнения второго прохода и добавьте к списку заданий таким же образом. После этого запустить задания на выполнение можно кнопкой Start в окне Job control, они будут выполнены по очереди. Рекомендуется использовать разные имена файлов для первого и второго проходов: это позволит легко различать задания в окне Job control.
Очень часто имеет смысл в предварительной обработке звука в стороннем редакторе, затем следует выполнить сведение видео и звука (muxing).
Для сведения видео и звука VirtualDub имеет специальный режим Video — Direct stream copy, в котором видеоряд не обрабатывается, а лишь копируется. В этом режиме нужно открыть файл с полученным видео и добавить соответствующий звуковой ряд из файла: Audio — WAV Audio... VirtualDub позволяет добавлять звук только из wav файлов, в которых может быть PCM звук (без сжатия) или mp3 CBR. После этого запустите процесс сведения: File — Save As. Поскольку этот процесс сведения записи занимает всего несколько минут, режим Don't run this job now… имеет смысл отключить: задача сразу же начнёт выполняться.
В заключение можно пожелать всем удачи в своих экспериментах.

DimonVideo
2006-12-05T23:24:34Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 9

#9   Dimon.k.81    

Спасибо, как раз было нужно


0 ответить

#9   ray77    

отличная статейка, очень удобно, спасибо!!!!!!!!


0 ответить

#9   frakir06    

Сколько читал о VirtualDub, но впервые вижу такое подробное описание. Автору респект! И вопрос: какие версии проги корректно обрабатывают vob файлы, если можно ссылки на них. И влияет ли русификация (SamLab) на качество работы программы вцелом? Есть смутные сомнения.. Еще насчет фрагментации. Может есть смысл делать на винте отдельный (физический) раздел для размещения исходного материала и результата обработки?


0 ответить

#9   thedevil    

А мне и стандартная прога от тюнера для видеозахвата нравится... она с пульта управляется.. никада нич не пропустишь )) а VirtualDub уже использую для постобработки.. например для сжатия в DivX в несколько проходов.. если сжимать Dub-ом "на лету" сжимать возможно только в один проход.. )) а вообще статья не плохая.. вот бы ещё ссылочки на фильтры сразу выкладывал ;)


0 ответить

#9   MbyteZ    

Неосилил :D


0 ответить

#9   fragiarty    

что то разжевано все слишком. Можно было бы и короче "взять две-три хреновины, подключить к той фиговине и нажать Сарturе" smile намного интереснее доходить своим методом тыка, а не читать длинющие статьи по строчке


0 ответить

#9   MatrixHasYou    

Две статьи - и обе в точку! я ее распечатал и повесил рядом с компом! спасибо автор!


0 ответить

#9   xolod-ok    

респект! Напиши про захват с камеры плиз, и если можно с веб камеры тожеsmile


0 ответить

Яндекс.Метрика