avi файл

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Anatron
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 21.08.2002 (Ср) 20:22
Откуда: Златоуст, Челябинская обл.

avi файл

Сообщение Anatron » 25.08.2005 (Чт) 21:32

Ребят, есть у кого-нить пример, как проиграть avi-шку? Желательно, имея возможность проиграть отдельные кадры.

Anatron
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 21.08.2002 (Ср) 20:22
Откуда: Златоуст, Челябинская обл.

Сообщение Anatron » 26.08.2005 (Пт) 7:44

Вообще-то сама проблема такова: есть 100 файлов bmp 800*600*24 по полтора мега каждый...
Гружу через CreateTextureFromFileEx в массив текстур. Считывается 40 секунд, активно жуя хард.
Хотел получить анимацию в 30 fps, но получил где-то 6-15 fps из-за того, что половина графики лежит в swap на жёстком.
Есть вообще какие-нить способы сделать шуструю анимацию в DX8 без посторонних библиотек?

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 26.08.2005 (Пт) 12:46

мoжет попробывать использовать другой формат файлов

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 26.08.2005 (Пт) 12:51

Есть примеры из СДК с директ шоу
в них можно проигрывать авишки

Kogemrka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 26.12.2004 (Вс) 11:36
Откуда: вам знать, что я злостный флудер? Может я притворяюсь?

Сообщение Kogemrka » 28.08.2005 (Вс) 11:15

Вообщем полезай по GameDev.ru, там был пример, как открывать ручками авишки, доставать из них изображения по кадру, а потом накладывать на поверхность. Получается проигрывание, при желании можно организавать замедление перемотку и прочие фишки. Тока пример по Си, но там более-менее всё понятно. Сам на него(на пример) натыкался, но забыл в закладки добавить, так что ищи сам.
Воля моя, я сделал, что хотел, сделал, что мог. Если будет беда - мой страх её не прогонит, если не будет беды - мой страх не нужен. Не жалею о том, что сделано, размышляю о том, что сделаю...

Anatron
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 21.08.2002 (Ср) 20:22
Откуда: Златоуст, Челябинская обл.

Сообщение Anatron » 29.08.2005 (Пн) 21:27

Спасибо ребят... но вопросики у меня ещё остались...
В СДК нашёл проект trimmervb - в нём можно было в видео просмотреть произвольный кадр. Но для этого использовалась странная библиотека Dexter. Кто-нить знает что это за библиотека и ЕСТЬ ли она в каждой Винде. В проекте алгоритм получения кадра был завязан через попу, а именно имеется объект MediaDet, которому указывается видео-файл, а потом через функцию WriteBitmapBits сохраняется кадр на диск в bmp файл, и уже потом с диска прогружается на PictureBox. Как-то не правильно, тем более что у того же объекта есть функция GetBitmapBits. Вот с этой функцией я и не разобрался... Вроде бы всё просто, но если кто-то знает как она работает - скажите... Что самое интересное, как параметры указываются размер принимающего буфера и сам буфер типа Byte, но не !массив! типа Byte! Т.е. получается что хоть какой размер буфера указывай - всё равно считать можно только первый символ. Загвоздка.

Anatron
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 21.08.2002 (Ср) 20:22
Откуда: Златоуст, Челябинская обл.

Сообщение Anatron » 31.08.2005 (Ср) 15:18

Всё, разобрался. Работает. Но скорость стала ненамного больше - 15 кадров при текстуре 256*256 на моём 1,8Celeron.
Функция GetBitmapBits выдаёт цвет в формате R8G8B8, а текстура по стандарту в формате A8R8G8B. Приходиться добавлять нулевую альфа-составляющую, а потом копировать в текстуру... Подумал, а почему не сделать тектсуру с уже R8G8B8-форматом? И не смог -
Код: Выделить всё
Set texFrame = d3dx.CreateTexture(d3dDevice, width, height, 1, 0, D3DFMT_R8G8B8, D3DPOOL_MANAGED)

DX ругается! Ставишь другой формат - проходит. Может это как-то зависит от видеокарты?


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34

    TopList