看不少人對ffdshow和ffmpeg的關係有點搞不清楚,所以響應Leon老大的號召,發個帖子簡單說明一下。
- ffdshow is DirectShow and VFW codec for decoding/encoding many video and audio formats, including DivX and XviD movies using libavcodec, xvid and other opensourced libraries with a rich set of postprocessing filters.
上邊是sf的ffdshow的簡單說明。我得理解就是,ffdshow是對一些codec(ffmpeg, xvid, and other)的封裝,封裝成了DirectShow和VFW的標準組件。比如對於xvid來講,ffdshow是可以選擇具體使用那個codec的, ffmpeg(libavcodec) or xvid。
那麼封裝有沒有額外的成本哪?有,但對大部分應用來講,可以忽略不計。就如c++和c。
先說這麼多,歡迎拍磚。
寫得不錯,目前羣裏面的兄弟都在研究ffmpeg,對ffdshow研究的少,因爲ffdshow只是一件外衣,核心還是ffmpeg,估計等一段時間就會有些朋友轉向ffdshow的。
我再補充幾句吧,vfw和dshow裏的CODEC分別是通過fourcc碼和guid機制尋找的,可以在系統註冊codec後調用,比自帶編解碼庫形式更加統一,便於使用。此外,vfw和dshow是代表了兩個微軟不同時期的音視頻處理封裝庫,裏面包含了音視頻驅動,音視頻處理的一整套方案。