-
Дано: Видео-файл нестандартного формата. Умею получать из него фреймы и играть его. Есть специальный плеер для него, но хотелось бы написать видео кодек, чтобы можно было проиграть любым плеером в винде.
Нужно: Как я понимаю, нужно написать кодек, зарегистрировать его где-то в системе... как это делается? Очень желательно - по быстрому и особо не разбираясь в предмете. Может кто-нить кинет куском кода в меня, в который я бы встроил свой "поставщик" фреймов.
(В принципе, т.к. специальный плеер есть, то задача не из числа особо важных, просто все это как-то колхозно в текущем виде выглядит - хотелось бы иметь кодек и играть эти видео файлы стандартным виндовым плеером)
-
> нестандартного формата
какой? > чтобы можно было проиграть любым плеером в винде
K-Lite_Codec_Pack уже пробовали?
-
-
Общеми для всех плееров являются DirectX Codec'и сответственно чиьай msdn. Никто толком незнает как, так что разбираться надо.
-
>> нестандартного формата >какой?
[MyCompanyName]MediaFile - Собственный формат видео-файла, разработанный не мной, но в моей компании. В который записан охулеард часов видео - писалось на протяжении нескольких лет. Есть древний и после допиливания, рабочий сорс по рисованию этого видео на формочке, на канве. Просто хотелось как-то более менее цивилизованно это оформить в виде кодека.
Особенно врубаться оболочку кодеков нет желания. Был бы какой-нить сорс на делфи, куда можно было бы прикостылить свой декодер формата, было бы чудесно.
(Гуглем пользовался, но не нашел ни одного сорса кодека на делфи)
-
> K-Lite_Codec_Pack уже пробовали?
?
-
> но в моей компании.
а понял... ну и в чем проблемма? исходников нет или что?
-
Формат файла есть, исходники декодера есть, как и куда их запихать, чтобы это был Кодек - не знаю, вот в чем проблема. Ни одного экземпла на Delphi не найти...
-
Примеры DShow-фильтров есть в составе DSPack: https://code.google.com/p/dspack/source/browse/trunk/Demos/D6-D7/Filters но именно декодера там нет, надо собирать по кусочкам. Общие сведения о том, как пишутся фильтры-декодеры: http://msdn.microsoft.com/en-us/library/jj556174.aspxhttp://msdn.microsoft.com/en-us/library/jj592932.aspxПричём, как я понял, в данном случае нужно делать и демультиплексор. Ну или не делать, а настроить входные пины так, чтобы туда непосредственно подсоединялся фильтр-источник (файл). В общем, "по-быстрому и не разбираясь" не получится. Вникать придётся, а DShow - это та ещё зараза. Человека, которому надо просто решить свою задачу, а не изучать супер-гибкую мега-архитектуру, раздражает жутко :)
-
Вот ещё: "This processing is accomplished through software modules that DirectShow calls Filters of which there are three basic kinds: source filters for input, transform filters for any intermediate processing step and renderer filters for output. Although the filters may step into each others' territory at times, transform filters may be better known to you as codecs - compression-decompression" ( http://vwlowen.co.uk/directshow/page01.htm ) То есть, кодек можно делать на базе transform-фильтра, например ezrgb24: http://koti.mbnet.fi/akini/delphi/dspack/
-
Sapersky, спасибо!
> Человека, которому надо просто решить свою задачу, а не изучать супер-гибкую мега-архитектуру, раздражает жутко :)
Угу )
|