Оцифровываем видео при помощи ТВ тюнера


VirtualDub: секреты профессионалов - часть 2


Типичный сценарий выглядит так:

VirtualDub.Open("С:\\File.avi","",0);

открыть файл С:\File.avi (символ «\» — обратная дробь — дублируется, как это принято в синтаксисе языка C)

VirtualDub.RemoveInputStreams();

сбросить установки

VirtualDub.video.SetDepth(24,24);

глубина цвета при обработке: 24 бита

VirtualDub.video.SetMode(3);

режим: Video — Full processing mode

VirtualDub.video.SetFrameRate(40000,1);

частота кадров (25 кадр/сек = 40 мс/кадр = 40 000 мкс/кадр )

VirtualDub.video.SetCompression(0x78766964,0,10000,0);

использовать сжатие видео: тут используются 16–ричные коды форматов сжатия видео, соответствие кодов и форматов несложно определить экспериментально

VirtualDub.video.SetCompData(370,"OAEAAA…");

настроить параметры кодека видео: параметры кодека сохраняются в закодированном виде (как набор букв)

VirtualDub.video.filters.Clear();

очистить набор фильтров

VirtualDub.video.filters.Add("rmPal");

добавить фильтр rmPal

VirtualDub.video.filters.Add("null transform");

добавить фильтр Null Transform

VirtualDub.video.filters.instance[1].SetClipping(4,4,6,8);

настроить обрезку краёв для 2–го фильтра — Null Transform (фильтры нумеруются с нуля)

VirtualDub.video.filters.Add("dynamic noise reduction 2.1");

добавить фильтр Dynamic Noise Reduction 2.1

VirtualDub.video.filters.instance[2].Config(12);

настроить фильтр DNR: параметр равен 12

VirtualDub.subset.Clear();

сбросить настройки выделения

VirtualDub.subset.AddRange(0,182879);

обработать диапазон кадров от 0 до 182 879

VirtualDub.SaveAVI("C:\\File-done.avi");

сохранить полученный в результате обработки файл в C:\File-done.avi

VirtualDub.Close();

закрыть файл после обработки

Для простоты в приведённом выше сценарии были опущены команды по работе со звуковыми дорожками: обрабатывается только видео.




- Начало -  - Назад -  - Вперед -