播放網絡視頻,通常解析庫我們可以有兩個選擇 FFMPEG 或者 vitamio。
### 什么FFMPEG?
官網地址:?[地址](http://ffmpeg.org/)
FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多codec都是從頭開發的。
支持的編碼 源自FFmpeg項目組的兩個視頻編碼 Snow FFV1
支持的格式 ASF、AVI、BFI、IFF、RL2、FLV、MXF、Material eXchange Format、SMPTE、377M、Matroska、Maxis XA、MSN Webcam stream、MPEG transport stream、TXD、OMA、GXF、General eXchange Format、SMPTE、360M、mov、mp4、m4a、3gp。
### 什么是Vitamio?
官網地址:?[地址](https://www.vitamio.org/)
github地址:[地址](https://github.com/yixia/VitamioBundle)
Vitamio是一款 Android 與 iOS 平臺上的全能多媒體開發框架,全面支持硬件解碼與 GPU 渲染。
Vitamio能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻,還可以在Android 與 iOS 上跨平臺支持 MMS, RTSP, RTMP, HLS(m3u8) 等常見的多種視頻流媒體協議,包括點播與直播。
Vitamio支持各種常見的流媒體協議,可以點播或者直播音頻和視頻,例如如下常見協議均能無縫支持:
MMS、RTSP (RTP, SDP)、RTMP、HTTP progressive streaming、HLS - HTTP live streaming (M3U8)
音頻和視頻格式
Vitamio使用了 FFmpeg 做為媒體解析器和最主要的解碼器,同時開發了針對不同移動平臺的硬解碼方案,能夠完美支持 H.264/AVC、H.263、MPEG4 等常見的視頻編碼,覆蓋上百種多媒體格式。下表只是一些最常見的視頻格式支持,除特殊標明,全部支持硬件加速:
DivX/Xvid、WMV (一般只有軟解碼)、FLV、TS/TP、RMVB (只有軟解碼)、MKV、MOV、M4V、AVI、MP4、3GP。
Vitamio 項目托管在Github?上面,,這里有很多公司的開源項目,其中:
1、VitamioBundle是Vitamio核心插件,(大家可以搜一下"Android Library"這個關鍵字,和jar差不多的用途),可以方便集成到項目中。
2、VitamioDemo是Vitamio的官方例子。
使用方式
1.導入。通過github下載VitamioBundle。下載回來后大家可能發現沒有.project工程文件,可以通過File-> Import -> Android -> Existing Android Code Into Workspace來導入工程,然后改一下工程名稱即可。
2、將VitamioBundle工程作為Android Library引入Demo工程使用即可。