-
ormada (28.06.09 07:49) [0]всем привет
подскажите пожалуйста как правильно разрезать видео файл
насколько я понимаю это набор изображений+индексный файл
или может быть есть готовые библиотеки для этого
и ещё вопрос как выдернуть изображение конкретного кадра -
Sapersky (28.06.09 11:47) [1]Для AVI можно использовать VFW - CreateEditableStream, EditStreamCopy и т.д. Для прочих форматов - не знаю, может быть, подобные средства редактирования есть в DirectShow. Для WMV (ASF) у MS есть некий SDK, хотя не уверен, что им можно разрезать файл, особо не вникал:
http://msdn.microsoft.com/ru-ru/library/dd757738(en-us,VS.85,printer).aspx
В крайнем случае - искать описание формата-контейнера и расковыривать вручную. Это не должно быть очень сложно - если резать по кейфреймам, перекодирование видео не требуется, это просто копирование данных определённой структуры.
Библиотеку знаю только одну и платную:
http://www.solveigmm.com/?Products&id=EditingSDK
Хотя возможно есть и другие.
Ещё исходники редактора видео VirtualDub - но они, понятное дело, на Си. К тому же VirtualDub может резать (в режиме "прямого копирования") только AVI.
Выдернуть изображение - VFW (только AVI), DirectShow. -
Sapersky (28.06.09 12:30) [2]Ещё см. здесь:
http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=70667
В предыдущем посте я имел в виду 2-й метод. Сам не делал, поэтому насчёт конкретных VFW-функций не уверен - может быть, AVIStreamRead/AVIStreamWrite, может, editable stream.
Относительно влияния кейфреймов (key frames) на редактирование без перекодировки см. хелп к VirtualDub, Processing/Direct Mode.
Ещё здесь - об использовании DirectShow и запуске VirtualDub из своей программы:
http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=58509 -
ormada (28.06.09 21:01) [3]ПАСИБА! буду копать