ffdshow

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

ffdshow
Логотип программы ffdshow
Скриншот программы ffdshow
Диалог конфигурации видеодекодера ffdshow под Windows XP
Тип Видео кодек
Написана на Ассемблер, C++, C[1]
Операционные системы Windows 7, Windows Vista, Windows XP, Windows 2000, Windows ME, Windows 98, Windows NT 4.0, Windows 95
Первый выпуск 20 мая 2002
Аппаратная платформа Windows
Последняя версия 1.3.4531 (28 июня 2014)
Состояние Неактивный
Лицензия GNU General Public License
Сайт ffdshow-tryout.sourceforge.net
Логотип Викисклада Медиафайлы на Викискладе

История

править

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

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

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

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

править

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

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

править

ffdshow имеет поддержку субтитров, возможность выбрать набор используемых кодеков, снятие снимков экрана, контроль с помощью клавиатуры, контроль разрешения изображений, яркости, набор фильтров постобработки картинки, включая возможность подключения плагинов видеообработки, фильтров DScaler[3] и поддержку скриптов AviSynth. Имеет возможность использования интегрированных аудио фильтров, эквалайзера, микшера, декодер 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.

На данный момент (апрель 2013 года) реализована поддержка видеоформатов: 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 и ряд других.

Комментарии

править

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

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

Примечания

править
  1. ffdshow SVN information. Архивировано из оригинала 12 марта 2012 года.
  2. DivX Video 5.0.3 for Windows
  3. DScaler — открытое ПО видеообработки. Дата обращения: 23 апреля 2008. Архивировано 26 ноября 2005 года.
  4. [https://web.archive.org/web/20080719172022/http://ffdshow-tryout.sourceforge.net/html/en/faq.htm#performance Архивная копия от 19 июля 2008 на Wayback Machine faq [ffdshow wiki]]

Ссылки

править