red5视频直播初探
寒假幾天想著給家里做個(gè)視頻監(jiān)控,類似于網(wǎng)頁(yè)直播的東西。一開始沒有思路,在網(wǎng)上搜索解決方案,最后選擇red5做服務(wù)器,使用RTMP協(xié)議,其實(shí)我也不知道原理是啥,總之它能支持這個(gè)協(xié)議,播放媒體流。
網(wǎng)上關(guān)于red5的資料的確較少,我后來搜到極酷播放器的網(wǎng)站,給出了很多教程,先大概弄懂這個(gè)流程,即red5+FMLE+極酷播放器。Red5提供支持RTMP,極酷播放器能播媒體,如果要直播,接受FMLE給他的RTMP流即可。重要的是,極酷播放器能很方便的嵌入網(wǎng)頁(yè),而且官網(wǎng)給出代碼,這也是我選擇它的原因。
http://help.aodianyun.com/ylmt_soft03.html
按照官網(wǎng)的教程,安裝配置red5,設(shè)置環(huán)境變量,新建工程文件夾,下載player放到其中,測(cè)試demo。需要注意的是配置ip,后面如果還需要換ip的話,需要修改的地方包括red的conf文件夾中的property文件(包括http地址、rtmp地址)以及工程文件中l(wèi)ib的property等文件中的ip。
http://www.cuplayer.com/player/PlayerCode/Red5/2014/0509/1316.html
先測(cè)試了點(diǎn)播,沒問題后用FMLE生成RTMP流,注意設(shè)置的RTMP服務(wù)器地址和服務(wù)名要和html中的script調(diào)用一致,用red的vod、live文件夾都行。經(jīng)PC測(cè)試也成功。
本來這樣就結(jié)束了,但一拿安卓機(jī)測(cè)試,連播放器的框都沒有。后來才知道,網(wǎng)頁(yè)放視頻以前是用flash而不是現(xiàn)在的html5,需要插件,而安卓系統(tǒng)4.4后adobe取消了對(duì)flash更新支持,所以我的小米4即使裝了最新版的flash插件也不適用,因?yàn)橐呀?jīng)是安卓4.4版本了。我試了很多瀏覽器都不行。后來聽說海豚瀏覽器支持,網(wǎng)友們口中的“神器,你懂的”。于是我用海豚瀏覽器打開,結(jié)果播放器框有了,但是加載不出視頻,一團(tuán)黑。
我又是查了很多資料,后來覺得應(yīng)該是我這播放器的問題,不支持安卓?我專門去官網(wǎng)下了個(gè)跨平臺(tái)版的播放器,里面給了六種方案,而且都給出了條件和測(cè)試代碼。后來全部換成這個(gè)播放器。PC,點(diǎn)播直播無壓力,安卓,現(xiàn)在可以點(diǎn)播了,但直播還是不行。于是在安卓端我只能安卓rtmp player來看了。
http://www.cuplayer.com/crossplatform/
從官網(wǎng)給的說明看,直播方案都需要HLS支持,必須用蘋果機(jī)產(chǎn)生HLS做服務(wù)器產(chǎn)生切片?還能轉(zhuǎn)成RTMP?不懂?用windows、linux能支持HLS么?我沒有蘋果主機(jī)啊。
這是一個(gè)測(cè)試網(wǎng)址,聲稱支持各個(gè)平臺(tái)?我的安卓機(jī)也不行。我表示懷疑。
http://demo.cuplayer.com/PlayerFashion/IPad/IPadV52.html
我把里面的RTMP地址復(fù)制到我的代碼中,發(fā)現(xiàn)安卓機(jī)能看(僑鄉(xiāng)頻道),說明html代碼是沒有問題的,控制變量法,那真的只能是RTMP源的差別了,需要HLS支持。
先不考慮跨平臺(tái)了,為了后面能進(jìn)一步開發(fā),想到red5集成到tomcat中,最簡(jiǎn)單可行的教程是下載一個(gè)war,然后替代tomcat部署文件夾的ROOT(原來的注意備份)。我重新新建工程,把red工程復(fù)制過去,用tomcat可運(yùn)行,原來的s2sh項(xiàng)目等也是正常的。
???????? http://download.csdn.net/detail/g1512161790/7805209#comment
就先告一段落吧,似乎坑挺深,算是初探吧,玩玩視頻直播的感覺。
**************************************************************************************************************************
后續(xù)16-3-7:實(shí)現(xiàn)red5+tomcat在外網(wǎng)的部署:
過程曲曲折折,一開始部署到外網(wǎng)后,只能加載頁(yè)面,然而視頻就是播不出來,就是連點(diǎn)播都點(diǎn)播不了。百度了一下,資料特別少,大概都是說proporties文件的設(shè)置。其實(shí)也是很巧,想到這個(gè)ip到底是填寫內(nèi)網(wǎng)ip還是外網(wǎng)ip呢,然后頁(yè)面文件中涉及路徑也要寫ip又是應(yīng)該寫哪一個(gè)呢?大概也是排列組合地試了一番,結(jié)論如下:
1、總的conf文件夾中的proporties文件,按照內(nèi)網(wǎng)ip設(shè)置;
2、工程文件夾中的似乎不用改;
3、頁(yè)面文件夾中的路徑,要么使用相對(duì)路徑,要么用外網(wǎng)ip(內(nèi)網(wǎng)理應(yīng)也可以呀~);
不解的地方是,直播的緩沖速度比點(diǎn)播快很多,點(diǎn)播要等近三分鐘,醉醉的……用html5點(diǎn)播很快!
開森開森~
總結(jié)
以上是生活随笔為你收集整理的red5视频直播初探的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信分享网络图片
- 下一篇: 企业微信网络抓包工具devtools_r