FreeSWITCH使用了大量的第三方庫,本文檔主要介紹視頻相關庫的信息:
音頻相關庫的信息介紹參考: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 中使用。
Mozilla 已經組成了開源編碼器專家小組開發下一代無專利限制視頻編碼格式 Daala,將以與 H265 和 VP9 截然不同的方式繞過可能的專利雷區。但是依然還需要解決同樣被專利困擾的 AAC 音頻解碼器。
② libav
Libav是一個自由軟件,可以執行音訊和視訊多種格式的錄影、轉檔、串流功能。主要包含以下幾個部分:
libavcodec (一個用於多個專案中音訊和視訊的解碼器函式庫)
libavformat (一個音訊與視訊格式轉換函式庫)
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等操作系統,x86、x64、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)協議所需的大部分客戶端功能以及少量的服務器功能。
