Вниз
Скачать: CL | DM;

Изображения ключевых кадров из авишки (RIFF_AVI)   Найти похожие ветки 

← →
Borealis   (2004-06-22 13:02) [0]

Можно ли из AVIшки, например с фильмом, выдрать все ключевые кадры на пример в BMPшки, и если можно то как?
(Желательно без использования TMediaPlayer"а)


← →
NailMan ©   (2004-06-22 18:28) [1]

Имея структуру AVI-RIFF можно слить таблицу кадров(idx1), в которой ключевые кадры помечены определенным символом(визуально это треугольничек |> ).

Таблица содержит размер кадра в байтах, смещение от начала образа данных(с начала первого кадра) и идентификатор(содержащий или не содержащий этот самый маркер ключевого кадра).

Вот собственно тебе и намек. Считываешь таблицу, пробегаешься по ней вылавливая нужные записи, выдрачиваешь этот кадр напрямую из файла, и сохраняешь как BMP, только не забудь что BMP имеет строки пикселей снизу вверх, а не напрямую массивом.

Собсно никаких лишних вещей кроме Fileread или подобного.

---
WBR, NailMan aka 2:5020/3337.13


← →
Borealis   (2004-06-22 18:47) [2]


> NailMan ©   (22.06.04 18:28) [1]

Я довольно неплохо знаю структуру RIFF_AVI-файлов и idx1 секций. Проблема в том что фильмы обычно сжаты каким нибудь кодеком (ну там DivX или XviD)...


← →
NailMan ©   (2004-06-24 17:42) [3]

Ну тогда раз ты знаешь номера тех кадров которые необходимы, то с помощью DirectShow ты сможешь создать граф и подключить к нему граббер. Далее просто - переходишь на нужный кадр-1 делаешь степ на один кадр вперед(встроенным специнтерфейсом) и сграбливаешь кадр в бмп-шку.

Если есть сам DXSDK, то там есть примеры как все это сделать(даже в самом .CHM-е хелпа есть пример подключения граббера).

Пример плеера можешь у меня на сате взять. Только заголовки директовские понядобятся( http://clootie.narod.ru ).

---
WBR, NailMan aka 2:5020/3337.13


← →
Borealis   (2004-07-13 12:11) [4]

А можно ли это сделать без оболочек (типа DirectShow)?
Если к примеру вырезать один ключевой кадрик из секции movi, то как его можно подсунуть соответствующему кодеку чтобы он вернул распакованую картинку?
(Ведь ключевые кадры на то и ключевые, что не требуют для своей распаковки информации с предыдущих кадров).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1095742175
OlegM
2004-09-21 08:49
2004.10.03
Как из потока данные загнать в переменную типа string?


1-1095237628
Black
2004-09-15 12:40
2004.10.03
Почему delete(q, 0, 8) выдаёт ошибку?


1-1095221325
Sirus
2004-09-15 08:08
2004.10.03
Преимущества TDataModule


1-1095341671
DSKalugin
2004-09-16 17:34
2004.10.03
CHR() for WideChar


4-1093847297
hgd
2004-08-30 10:28
2004.10.03
Работа с ИК портом или com портом




   Наверх