Здравствуйте, Khimik, Вы писали:
K>Мне пока нужно только написать алгоритм обработки, поэтому я не буду сосредотачиваться на подключении кодеков, мне нужно просто получить формат видео файла который мой проект с TMediaPlayer сможет прочесть, так чтобы я имел bitmap-изображение для каждого кадра.
Так просто не получится. Придется в любом случае курить DirectX и через него хватать кадры видео при проигрывании. Более того, кадры, которые ты получишь будут не BMP а чем угодно (зависит от кодека) и, скорее всего не в RGB пространстве (его тоже придется преобразовывать). Ищи библиотеку под DirectX для начала.
Проблема в том, что TMediaPlayer использует MultiMedia API для которого кодеки не пишутся уже 1000 лет.
K>Заодно у меня вопросы по формату видео файлов и сжатию: K>1) Количество кадров в секунду для всех форматов одно и то же?
Нет. От 1 до бесконечности.
K>2) Сжатие видео основывается на использовании предыдущего кадра как источника информации о следующем кадре? Хотелось бы примерно представлять “философскую суть” этого сжатия.
Убрать лишнее. Сжатие видео — сжатие с потерями. Берется 1 ключевой кадр, который сжимается грубо говоря JPEG и пишется в файл. Следующие несколько кадров (сколько — зависит от настроек кодека) есть разница между предыдущим и текущим отталкиваясь от ключевого. Грубо говоря. Если у тебя каждый 5й кадр ключевой, то чтобы получить 4й кадр нужно разжать 1й (ключевой), 2й и 3й кадры. 5й снова будет полным.