ffdshow

відео- та аудіокодек для Windows

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

Ffdshow
Тип кодек
Платформа Windows
Операційна система Windows XP
Мова програмування C[1]
Ліцензія GNU General Public License, version 2.0[d][2][3]
Вебсайт ffdshow-tryout.sourceforge.net

Історія ред.

Першу версію ffdshow опубліковано в квітні 2002 року, як альтернативу декодерам DivX 3.11 і Gator[en][4] DivX 5.02, щоб поєднати швидкість і якість MPlayer з рядом плеєрів для Windows. Низка декодерів та фільтрів DirectShow можуть зрівнятися у швидкості з ffdshow, але аналогів у функціональності та широті підтримки не існує. Декодер продовжує підтримувати багато форматів, його активно розвивають та вдосконалюють, як нові так і дехто з початкових розробників, зокрема, розробники FFmpeg.

Головним розробником та автором був Мілан Цутка (Milan Cutka). Коли 2006 року автор залишив розробку проєкту, ініціативна група створила проєкт ffdshow-tryouts, продовжуючи виправляти помилки, оновлювати та вдосконалювати декодер.

ffdshow-mt ред.

ffdshow-mt (від англ. multithread) — експериментальний варіант декодера ffdshow, що базується на ffmpeg-mt, створений для забезпечення багатопотоковості під час декодування низки форматів, зокрема, H.264 і VC-1[en]. Багатопотоковість забезпечує помітне, порівняно з основним проєктом ffdshow, зростання продуктивності на багатоядерних системах, проте апаратні та деякі пропрієтарні декодери показують кращі результати.

Інсталяція та конфігурація ред.

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

Підтримка форматів ред.

ffdshow має підтримку субтитрів, можливість вибрати набір використовуваних кодеків, отримання знімків екрану, керування за допомогою клавіатури, керування роздільністю зображень, яскравістю, набір фільтрів постобробки картинки, включно з можливістю підключення плагінів відеообробки, фільтрів DScaler[5]. Має можливість використання вбудованих аудіо фільтрів, еквалайзера, мікшера, декодер Dolby, DSP плагіни Winamp тощо. Низку елементів постобробки перенесено з плеєра MPlayer і фільтрів AviSynth.

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

Фільтри постобробки ffdshow використовують у відео редакторах VirtualDub та AviSynth, через налаштування VfW. У цих редакторах ffdshow може бути використаний також для кодування MPEG-4-сумісного відеопотоку (сумісного з кодеками Xvid, DivX і x264[en]), так само, як і відео без втрати якості та низки інших форматів, які підтримує базова бібліотека 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, CamSNG 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. Однак різниця у продуктивності (залежно від використаного компілятора та оптимізації) існує для фільтрів постобробки[6].

Пакунки кодеків можуть знижувати продуктивність ffdshow. Деякі з них підміняють ffdshow, що позначається на відео, або включають застарілі версії ffdshow.

Примітки ред.

  1. https://www.openhub.net/p/ffdshow/analyses/latest/languages_summary
  2. SourceForge.net — 1999.
  3. SourceForge.net — 1999.
  4. DivX Video 5.0.3 for Windows
  5. DScaler — открытое ПО видеообработки. Архів оригіналу за 26 листопада 2005. Процитовано 23 квітня 2008.
  6. [1] [Архівовано 2008-07-19 у Wayback Machine.] faq [ffdshow wiki]

Посилання ред.