![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изображения ключевых кадров из авишки (RIFF_AVI) [D6, Win2k]
Borealis © (2004-06-22 13:02:00)Можно ли из AVIшки, например с фильмом, выдрать всеключевые кадры на пример в BMPшки, и если можно то как?
(Желательно без использования TMediaPlayer'а)
Borealis (2004-07-13 12:11:00) [1]А можно ли это сделать без оболочек (типа DirectShow)?
Если к примеру вырезать один ключевой кадрик из секции movi, то как его можно подсунуть соответствующему кодеку чтобы он вернул распакованую картинку?
(Ведь ключевые кадры на то и ключевые, что не требуют для своей распаковки информации с предыдущих кадров).
NailMan (2004-06-24 17:42:00) [2]Ну тогда раз ты знаешь номера тех кадров которые необходимы, то с помощью DirectShow ты сможешь создать граф и подключить к нему граббер. Далее просто - переходишь на нужный кадр-1 делаешь степ на один кадр вперед(встроенным специнтерфейсом) и сграбливаешь кадр в бмп-шку.
Если есть сам DXSDK, то там есть примеры как все это сделать(даже в самом .CHM-е хелпа есть пример подключения граббера).
Пример плеера можешь у меня на сате взять. Только заголовки директовские понядобятся( http://clootie.narod.ru).
---
WBR, NailMan aka 2:5020/3337.13
Borealis (2004-06-22 18:47:00) [3]
> NailMan © (22.06.04 18:28) [1]
Я довольно неплохо знаю структуру RIFF_AVI-файлов и idx1 секций. Проблема в том что фильмы обычно сжаты каким нибудь кодеком (ну там DivX или XviD)...
NailMan (2004-06-22 18:28:00) [4]Имея структуру AVI-RIFF можно слить таблицу кадров(idx1), в которой ключевые кадры помечены определенным символом(визуально это треугольничек |> ).
Таблица содержит размер кадра в байтах, смещение от начала образа данных(с начала первого кадра) и идентификатор(содержащий или не содержащий этот самый маркер ключевого кадра).
Вот собственно тебе и намек. Считываешь таблицу, пробегаешься по ней вылавливая нужные записи, выдрачиваешь этот кадр напрямую из файла, и сохраняешь как BMP, только не забудь что BMP имеет строки пикселей снизу вверх, а не напрямую массивом.
Собсно никаких лишних вещей кроме Fileread или подобного.
---
WBR, NailMan aka 2:5020/3337.13