Android[安卓] 版Air Video 遠程播放電腦視頻
在蘋果的iOS下面,有個應用Air Video,可以在iOS下通過Wifi遠程直接播放電腦裡的視頻,而不需要把視頻複製到手機上再看。非常好用!最近用了Android的手機,想找類似的應用,找了很久都沒找到。仔細想了下AirVideo的工作原理,和優酷等視頻網站類似,在Android下面應該也可以有類似的方法實現。
今日在華為榮耀6上面終於驗證通過了一個完美的方案,趕緊放上來和有同樣需要的朋友們分享分享。
先說一下Air Video的工作原理:
1) 在Windows下面安裝Air Video Server伺服器,並設定允許遠程觀看的視頻檔案目錄
2) 通過蘋果的AppStore下載AirVideo用戶端,並安裝
Air Video蘋果用戶端是收費的,似乎還不便宜,當然越獄以後就不存在這個問題了
3) Air Video用戶端串連Windows的服務端,可以看到服務端各目錄的視頻檔案清單,並選擇播放。其中:
MP4可以直接播放,RMVB\FLV等需要服務端即時轉換成MP4的視頻流,再傳給iOS上的用戶端
註:即時轉換,看Windows系統的CPU佔用其實還是挺高的,非常不環保
蘋果裡面AirVideo用戶端播放視頻的播放器,看起來和直接播放優酷等視頻網站的播放器,看起來其實是一樣的。於是懷疑,AirVideo發送到用戶端的MP4視頻流,和WEB環境下的MP4視頻流可能是相同的,都是通過HTTP地址訪問。當然,這種說法只是猜測,全無依據。基於該想法,只要建一個WEB服務,能在手機上通過該WEB地址提供視頻流,手機上即可觀看電腦上的視頻。
具體步驟來了,折騰了幾天,自己也沒想到結果可以這麼簡單:
一)從網上下載TOMCAT並安裝,我是從這個地址下載了綠色版TOMCAT5.5,如果原來已經有TOMCAT,可以跳過這一步
http://www.rsdown.cn/down/32748.html
a) 下載後可以瘦身一下,刪除掉這幾個目錄下的內容後,整個目錄只有5Mb左右(目錄不能刪)
webapps/
server/webapps/
conf/Catalina/localhost/
b) 如果原來已經安裝了tomcat,已經有CATALINA_HOME環境變數,現在重新下載一個,需要:
- 使用文本編輯bin/startup.bat檔案
- 在11行前面加上 REM,注釋掉該行內容,否則仍會用系統的CATALINA_HOME環境變數
REM if not "%CATALINA_HOME%"== "" goto gotHome
c) 到conf目錄下,採用最簡單的server設定檔
- 重新命名server.xml為server-normal.xml
- 重新命名server-minimal.xml為server.xml
二)TOMCAT預設不支援URL裡麵包含中文,這會導致檔案名稱為中文的視頻不能播放,方法:
使用文本編輯server.xml,設定Connector的URIEncoding為utf-8,如:
參考地址:http://www.williamlong.info/archives/469.html
三)設定視頻檔案目錄的內容,允許通過TOMCATWEB發布。方法:
使用文本編輯server.xml,設定Host及Context,我的修改後如下
這樣,可以通過http://localhost:8080/地址訪問C:\TDDOWNLOAD\目錄的視頻檔案;
通過http://localhost:8080/fd/ 地址訪問C:\FDOWNLOAD\目錄的視頻檔案;
四)使TOMCAT可以支援直接WEB瀏覽器查看目錄下面檔案的列表,查看的效果如下:
配置方法:
使用文本編輯conf/web.xml,尋找listings,並設定參數為true。
listings
true
五)在安卓手機上安裝UC瀏覽器。相信很多人都已經使用UC,這個就不細說步驟了。
註:在同一個手機上試了UC和Chrome,發現Chrome只能下載RMVB/FLV,不能播放,但UC可以,因此,要求用UC
六) 此時,執行TOMCAT在bin目錄下的startup.bat啟動TOMCAT,並將手機和電腦串連到同一網路;
接下來,使用UC應該已經可以查看TOMCAT發布的網頁了,UC的地址如:http://192.168.1.123:8080/,IP地址為TOMCAT所在電腦的地址
嘗試驗擊其中的*.MP4檔案,會出現下面的提示。選擇[線上播放],哈哈,MP4已經可在手機上直接看了
七)革命尚未成功,試一下RMVB/FLV檔案,發現還是不能看的。重新回到TOMCAT的設定檔
使用文字編輯器開啟bin/web.xml,在mp4的設定下面,增加rmvb和flv的mime類型。
mp4
video/mp4
rmvb
video/x-rmvb
flv
video/x-flv
接下來,重啟TOMCAT,重新在UC裡面嘗試驗擊*.RMVB和*.FLV的檔案,如果都能夠播放,說明你很運氣。如果還是不行,實在不好意思,我只能做到這些了。本人使用一款酷派8150s低端手機測試,也同樣不能看RMVB/FLV的視頻,但榮耀6就非常正常。這可能和安卓作業系統版本,或廠商的定製有關。
其他補充:
1) Windows下面的Chrome也只能支援播放MP4;如果瀏覽器不能支援,但還是非常想要在手機上看RMVB/FLV,可以麻煩點,在電腦上先使用格式工廠都轉換成MP4格式
2) Air Video, 格式工廠都是使用ffmpeg, mp4creator等開源項目轉換MP4視頻流的,並且是通過命令列調用。通過手機控制電腦轉換格式為MP4,應該可以進一步研究,不過不是專業就太浪費時間了
3) 也嘗試了使用jsp檔案,來做視頻檔案的展示,安卓需要的HTML5非常簡單,不過看起來效果和前面配置的結果沒什麼差別。HTML5網頁嵌入視頻代碼範例如下
初步分析的結果,視頻網頁為了同時支援在IE、Chrome、Android、iOS播放視頻,需要根據HTTP請求訊息頭的瀏覽器類型判斷,嵌入不同的視頻播放代碼,甚至提供不同的視頻檔案格式。iOS真的就只能支援MP4的播放,其他格式都不支援….