Ffdshow | это... Что такое Ffdshow? (original) (raw)

ffdshow

ffdshow — медиа декодер, обычно используемый для быстрого и высокоточного декодирования видеопотока в MPEG-4 ASP (то есть кодированного с помощью DivX, Xvid или FFmpeg MPEG-4) и AVC (H.264) форматов, также поддерживает множество иных видео и аудиоформатов. Является свободным программным обеспечением, выпускаемым под лицензией GPL, работает под Windows в качестве фильтра DirectShow.

Содержание

ffdshow-mt

ffdshow--mt (от англ. multithread) — экспериментальный вариант декодера ffdshow, базирующийся на ffmpeg-mt, созданный с целью обеспечения многопоточности при декодировании ряда форматов, включая H.264 и VC-1. Многопоточность обеспечивает заметный рост производительности на многоядерных системах по сравнению с основным проектом ffdshow, однако аппаратные и, в ряде случаев, некоторые проприетарные декодеры показывают лучшие результаты.

Инсталляция и конфигурация

ffdshow не включает интегрированного медиа плеера и парсеров медиа контейнера. Однако любой DirectShow-совместимый медиа плеер, такой как Windows Media Player, Media Player Classic, The KMPlayer, GOM Player, Winamp или Zoom Player, может использовать декодер ffdshow автоматически, что исключает необходимость установки отдельного кодека для каждого из множества видео- и аудиоформатов, поддерживаемых ffdshow. Пользователь конфигурирует видео и аудио настройки ffdshow с помощью соответствующих диалогов декодера, при этом данная конфигурация будет являться независимой от используемого плеера.

Поддержка форматов

ffdshow имеет поддержку субтитров, возможность выбрать набор используемых кодеков, снятие снимков экрана, контроль с помощью клавиатуры, контроль разрешения изображений, яркости, набор фильтров постпроцессинга картинки, включая возможность подключения плагинов видеообработки, фильтров DScaler[1]. Имеет возможность использования интегрированных аудио фильтров, эквалайзера, микшера, декодер Dolby, DSP плагины Winamp и др. Ряд элементов постпроцессинга перенесено из плеера MPlayer и фильтров AviSynth.

ffdshow использует библиотеку libavcodec и ряд других, свободных и открытых (open source) пакетов декодирования видео распространённых форматов, таких как MPEG-4 (включая кодированные с помощью Xvid, 3ivx, всех версий DivX), H.263 и VP6 (используемого, в частности, сайтом YouTube), H.264/AVC, WMV, также, как и множество других. ffdshow также декодирует аудио поток в форматах MP3, AAC, Dolby AC3, WMA и Vorbis многих других.

Фильтры постпроцессинга ffdshow используются в видео редакторах VirtualDub и AviSynth, путём настройки VfW. В данных редакторах, ffdshow может быть использован также для кодирования MPEG-4 — совместимого видеопотока (совместимого с кодеками Xvid, DivX и x264), также, как и видео без потери качества и ряд других фоматов, поддерживаемых базовой библиотекой libavcodec.

На данный момент реализована поддержка видеоформатов: H.264/AVC, XVid, DivX 4/5/6, MPEG 4, DivX3, MP41, MP42, MP43, H.263, FLV1,Theora, VP3, VP5, VP6, VP6F, MPEG1, MPEG2, WMV1, WMV2, WMV3, VC-1, WMVP, MSS1/2, H.261, Hiffyuv, MJPEG, SVQ1, SVQ3, QTRLE, 8BPS, QRPZA, FFV1, DV, CamStudio, CorePNG, LOCO, MSZH, Techsmith, ZLib, ZMBV, AutoDesk RLE, Cinepack, Indeo, MS Video 1, MS Video RLE, QPEG, Real Video и ряд других.

История

Первая версия ffdshow была опубликована в апреле 2002, как альтернатива DivX 3.11 и Gator [1] DivX 5.02 декодеров, дабы объединить скорость и качество MPlayer с рядом плееров для Windows. Ряд декодеров и фильтров DirectShow могут сравниться в скорости с ffdshow, но аналогов в функциональности и широте поддержки не существует. Декодер продолжает поддерживать множество форматов, активно развивается и усовершенствуется новыми и некоторыми первоначальными разработчиками, в частности, разработчиками FFmpeg.

Главным разработчиком и автором был Milan Cutka. Когда автор оставил разработку проекта в 2006 году, инициативная группа создала проект ffdshow-tryouts, продолжая исправлять ошибки, обновлять и совершенствовать декодер.

Комментарии

Существует заблуждение, что сборка, компилированная с использованием компилятора ICL с поддержкой SSE/SSE2, будет декодировать быстрее и функциональнее, чем обычная (generic build). На самом деле, большинство декодеров содержатся в библиотеке libavcodec, которая во всех сборках компилируется с помощью gcc, а ее исходный код содержит много оптимизированного вручную ассемблерного кода. Таким образом, независимо от компилятора, декодер имеет полноценную поддержку инструкций современных процессоров, включая SSE/SSE2/SSE3, MMX/MMXEXT, 3DNow!/3DNow! Ext. Однако разница в производительности (в зависимости от использованного компилятора и оптимизаций) существует для фильтров постобработки[2].

Пакеты кодеков могут снижать производительность ffdshow. Некоторые из них подменяют ffdshow, что сказывается на видео изображении, или включают устаревшие версии ffdshow.

Примечания

  1. DScaler — открытое ПО видеообработки
  2. faq [ffdshow wiki]

Ссылки

Wikimedia Foundation.2010.