今天就跟大家聊聊有關(guān)如何輕松從0搭建Android直播系統(tǒng),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、小程序開(kāi)發(fā)、軟件開(kāi)發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷(xiāo)領(lǐng)域創(chuàng)造價(jià)值而不懈努力!
從0開(kāi)始搭建一個(gè)直播系統(tǒng)
我立馬實(shí)踐了下,所以首先給大家分享下整個(gè)搭建的流程:
本人的操作系統(tǒng)為mac,其他系統(tǒng)的同學(xué)可以根據(jù)提示,自行安裝軟件。
一個(gè)簡(jiǎn)易的直播系統(tǒng),大致可以由三部分組成:
搭建一個(gè)rtmp媒體服務(wù)器
推流端
拉流端
現(xiàn)在目標(biāo)是快速搭建起來(lái),所以當(dāng)然是借助開(kāi)源項(xiàng)目和一些軟件:
rtmp媒體服務(wù)器:這里使用srs
推流端:這里使用obs
拉流端:這里使用播放器vlc
rtmp媒體服務(wù)器的搭建
這里使用srs,srs的鏈接為:
https://github.com/ossrs/srs
首先clone到本地,進(jìn)入到trunk目錄:
git clone https://github.com/ossrs/srs.git cd srs/trunk
然后執(zhí)行:
./configure --osx
注意: Centos6.x/Ubuntu12 32/64bits用戶僅需要執(zhí)行./configure。
最后執(zhí)行:
make
執(zhí)行成功后,就可以開(kāi)啟我們的服務(wù)了:
./etc/init.d/srs start
如果是mac系統(tǒng),此時(shí)會(huì)失敗,原因是srs.conf中max_connections太大,
目錄為srs/trunk/conf/srs.conf,可以修改為248(其他操作系統(tǒng)可能無(wú)此問(wèn)題)。
再次回到trunk目錄:
./etc/init.d/srs start
到此我們的srs服務(wù)器就搭建起來(lái)了。
注:
Centos、Ubuntu可以參考官網(wǎng)搭建,比較簡(jiǎn)單。
如果你啟動(dòng)過(guò)程中還遇到了其他錯(cuò)誤,可以查看log信息:
srs/trunk/objs/srs.log
其他指令:
停止 ./etc/init.d/srs stop 重啟 ./etc/init.d/srs restart
有了服務(wù)器之后,我們就準(zhǔn)備開(kāi)始我們的推流端。
如果你實(shí)在搭建不成功,可以先拿116.196.121.20這個(gè)ip做測(cè)試,我在京東云上搭建的,配置較低,主要用于大家臨時(shí)測(cè)試,可能不穩(wěn)定,看一眼就行,后續(xù)會(huì)關(guān)掉,所以還是盡可能自己搭建成功吧。
使用OBS推流
下載地址: https://obsproject.com/
先下載安裝,這里就簡(jiǎn)單了
首先選擇點(diǎn)擊+選擇來(lái)源,這里我選擇了窗口捕獲,然后點(diǎn)擊右側(cè)的設(shè)置:
選擇流,串流類型選擇自定義,然后url,填寫(xiě):
rtmp://你的ip/你喜歡的url
流名稱可以按照上述自由輸入。
記住我們的url和流名稱:
rtmp://192.168.1.102/zhy/mylive
完成后,點(diǎn)擊確定。
然后點(diǎn)擊開(kāi)始推流即可。
這樣,我們的OBS推流就開(kāi)啟啦,軟件的更多使用自行探索吧。
***就剩下我們的拉流了。
使用VLC拉流
下載地址: http://www.videolan.org/vlc/
先下載安裝,這個(gè)就更簡(jiǎn)單啦。
點(diǎn)擊Open Network,輸入我們剛才的url+流名稱,點(diǎn)擊確定即可。
稍等,就開(kāi)始播放我們的推流內(nèi)容了。
最左側(cè)是VLC,中間是OBS,右側(cè)是我窗口捕獲對(duì)象。
到這里,就算我們搭建了一個(gè)直播系統(tǒng)啦~~自己搭建成功的感覺(jué),無(wú)比爽快,也能很大的激發(fā)我們后續(xù)的學(xué)習(xí)興趣。
后面我們可以根據(jù)自己的需求去選擇學(xué)習(xí)拉流或者推流,逐步替換掉軟件。拉流的方式很多,很多開(kāi)源播放器都支持。這里我們考慮替換掉推流,希望可以使用手機(jī)來(lái)推流。
使用第三方推流SDK
最簡(jiǎn)單的方式,就是可以借助于第三方的推流SDK,大多情況下第三方SDK完整方案都是收費(fèi)的,不過(guò)他們的推流Android SDK倒是可以下載無(wú)需付費(fèi)情況下來(lái)學(xué)習(xí)使用的。
這里以百度云的直播SDK為例,下載地址:
https://cloud.baidu.com/doc/Downloadcenter/Push.html#.E7.89.88.E6.9C.AC.E6.9B.B4.E6.96.B0.E8.AF.B4.E6.98.8E
直接點(diǎn)擊下載Android SDK即可,下載完成后解壓,然后倒入AS(這竟然是個(gè)Eclipse項(xiàng)目…),還好AS支持,導(dǎo)入后:
直接將mStreamKey修改我們的rtmp的地址即可。
注意,需要在build.gradle中添加下v7的依賴
compile 'com.android.support:appcompat-v7:23.0.0'
然后運(yùn)行,界面還可以:
貼一下運(yùn)行時(shí)的效果圖:
還是以vlc拉流即可,整個(gè)過(guò)程很緩慢,耐心等待,效果也不是很好,不過(guò)能跑通即可,主要是學(xué)習(xí)。然后你可以舉一反三試試其他的SDK。
當(dāng)然了,很多開(kāi)源項(xiàng)目其實(shí)比SDK作為學(xué)習(xí)資料更好,比較源碼都有,下面以一個(gè)開(kāi)源項(xiàng)目舉例。
使用開(kāi)源項(xiàng)目推流
使用一個(gè)開(kāi)源項(xiàng)目:
https://github.com/begeekmyfriend/yasea
直接clone,導(dǎo)入。
這個(gè)比較順利,導(dǎo)入后,修改下rtmp鏈接:
然后運(yùn)行即可(導(dǎo)入不成功,自己想辦法解決,基礎(chǔ)能力啦~)。
貼一張效果圖:
硬解碼的情況下,效果比前面的SDK好很多~~
好了,***我們?cè)倏匆环N方式。
恩,ffmpeg很火,ffmpeg很強(qiáng)大。
所以***一種方式,就是看如何利用ffmpeg推流啦~~
利用ffmpeg推流
大家可以自己下載ffmepg的源碼,然后按照網(wǎng)上的方式去編成so,簡(jiǎn)單的一點(diǎn)而且比較實(shí)用的,就是編出可以執(zhí)行ffmpeg 命令的so,這樣就能干很多事情了。
這里,由于篇幅,我們就直接使用別人編好的項(xiàng)目了。
https://github.com/WritingMinds/ffmpeg-android-java
直接導(dǎo)入,該項(xiàng)目支持直接運(yùn)行ffmpeg的命令。
ffmpeg命令很多:
例如:
將.avi轉(zhuǎn)成gif動(dòng)畫(huà)(未壓縮)
ffmpeg -i video_origine.avi gif_anime.gif
合成視頻和音頻
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
其中有一個(gè)命令就是支持推流,這里將手機(jī)上的zixia.mp4作為輸入:
ffmpeg -re -i /storage/emulated/0/zixia.mp4 -vcodec libx264 -acodec aac -f flv -strict -2 rtmp://192.168.1.102/zhy/mylive=
那么這個(gè)庫(kù)是支持在手機(jī)上運(yùn)行ffmpeg命令的,那就簡(jiǎn)單了:
貼上我們需要執(zhí)行的命令,運(yùn)行即可。
這里注意我推的是存儲(chǔ)卡上的一個(gè)媒體文件,注意添加相關(guān)權(quán)限,效果如下。
看完上述內(nèi)容,你們對(duì)如何輕松從0搭建Android直播系統(tǒng)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站欄目:如何輕松從0搭建Android直播系統(tǒng)
文章轉(zhuǎn)載:http://jinyejixie.com/article34/iepppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、電子商務(wù)、定制網(wǎng)站、建站公司、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)