FreeSWITCH使用了大量的第三方庫,本文檔主要介紹視頻相關庫的信息:html
音頻相關庫的信息介紹參考:http://www.cnblogs.com/yoyotl/p/5486753.html服務器
其餘相關庫的信息介紹參考:http://www.cnblogs.com/yoyotl/p/5489315.html網絡
① openh264
OpenH264 是思科公司以BSD協議開放的一個開源的 H.264 編碼器和解碼器。架構
Cisco 將以 BSD 協議開放其 H264 解碼器實現,並提供針對主流操做系統的預編譯庫文件下載。Cisco 將負責承擔 MPEG LA 的專利使用費,並和 Mozilla 共同管理 OpenH264 開源項目。編碼
Firefox 之後默認支持H264,但依然支持 VP8 格式,並可在 WebRTC 中使用。spa
Mozilla 已經組成了開源編碼器專家小組開發下一代無專利限制視頻編碼格式 Daala,將以與 H265 和 VP9 大相徑庭的方式繞過可能的專利雷區。可是依然還須要解決一樣被專利困擾的 AAC 音頻解碼器。操作系統
② libav
Libav是一個自由軟件,能夠執行音訊和視訊多種格式的錄影、轉檔、串流功能。主要包含如下幾個部分:.net
libavcodec (一個用於多個專案中音訊和視訊的解碼器函式庫)code
libavformat (一個音訊與視訊格式轉換函式庫)orm
libavutil(包含解壓縮和各類實用功能庫)
libavfilter(提供一個改變解碼音頻和視頻的攔截器鏈)
libavdevice(提供捕獲和重置設備的抽象訪問能力)
libavresample(實現音頻混合和重採樣能力)
libswscale(實現顏色的轉換和縮放能力)
③ libvpx
libvpx是開源的支持VP8/VP9編解碼的SDK。
全面支持WebM。x86平臺必須先安裝yasm庫。
WebM由Google提出,是一個開放、免費的媒體文件格式。
WebM 影片格式實際上是以 Matroska(即 MKV)容器格式爲基礎開發的新容器格式,裏面包括了 VP8 影片軌和 Ogg Vorbis 音軌。
其中Google將其擁有的VP8視頻編碼技術以相似BSD受權開源,Ogg Vorbis 原本就是開放格式。
WebM標準的網絡視頻更加偏向於開源而且是基於HTML5標準的,WebM 項目旨在爲對每一個人都開放的網絡開發高質量、開放的視頻格式,其重點是解決視頻服務這一核心的網絡用戶體驗。
④ libyuv
libyuv是Google開源的實現各類YUV與RGB之間相互轉換、旋轉、縮放的庫。
它是跨平臺的,可在Windows、Linux、Mac、Android等操做系統,x8六、x6四、arm架構上進行編譯運行,支持SSE、AVX、NEON等SIMD指令加速。
⑤ vlc
vlc是一個流行的開源媒體播放器和多媒體引擎,已移植到大多數的計算平臺,包括GNU / Linux,Windows,Mac OS X,BSD,iOS和Android。
vlc能夠播放大多數多媒體文件,光盤,流,容許回放設備,並可以以各類格式轉換媒體流。
⑥ libpng
PNG的官方庫,項目開發包的地址:http://libpng.sourceforge.net/。
該項目依賴zlib庫,當前最新的版本是libpng 1.6.21。
⑦ librtmp
實時流協議(Real-TimeMessaging Protocol,RTMP)是用於互聯網上傳輸視音頻數據的網絡協議。librtmp庫提供了支持RTMP, RTMPT,RTMPE, RTMP RTMPS及以上幾種協議的變種(RTMPTE, RTMPTS)協議所需的大部分客戶端功能以及少許的服務器功能。