直播
直播
一個簡易的直播系統,大致可以由三部分組成:
- 搭建一個rtmp媒體服務器
- 推流端
- 拉流端
現在目標是快速搭建起來,所以當然是借助開源項目和一些軟件:
- rtmp媒體服務器:這里使用srs
- 推流端:這里使用obs
- 拉流端:這里使用播放器vlc
rtmp媒體服務器的搭建
?
這里使用srs,srs的鏈接為:?
https://github.com/ossrs/srs
首先clone到本地,進入到trunk目錄:
git clone https://github.com/ossrs/srs.git cd srs/trunk?
然后執行:
./configure --osx?
注意: Centos6.x/Ubuntu12 32/64bits用戶僅需要執行./configure。
最后執行:
make?
執行成功后,就可以開啟我們的服務了:
./etc/init.d/srs start?
如果是mac系統,此時會失敗,原因是srs.conf中max_connections太大,?
目錄為srs/trunk/conf/srs.conf,可以修改為248(其他操作系統可能無此問題)。
再次回到trunk目錄:
./etc/init.d/srs start到此我們的srs服務器就搭建起來了。
注:?
Centos、Ubuntu可以參考官網搭建,比較簡單。?
如果你啟動過程中還遇到了其他錯誤,可以查看log信息:?
srs/trunk/objs/srs.log?
其他指令:?
停止 ./etc/init.d/srs stop?
重啟 ./etc/init.d/srs restart
有了服務器之后,我們就準備開始我們的推流端。
如果你實在搭建不成功,可以先拿116.196.121.20這個ip做測試,我在京東云上搭建的,配置較低,主要用于大家臨時測試,可能不穩定,看一眼就行,后續會關掉,所以還是盡可能自己搭建成功吧。
使用OBS推流
下載地址:https://obsproject.com/
?
選擇流,串流類型選擇自定義,然后url,填寫:
rtmp://你的ip/你喜歡的url- 1
流名稱可以按照上述自由輸入。
記住我們的url和流名稱:
rtmp://192.168.1.102/zhy/mylive- 1
完成后,點擊確定。
然后點擊開始推流即可。
這樣,我們的OBS推流就開啟啦,軟件的更多使用自行探索吧。
最后就剩下我們的拉流了。
使用VLC拉流
下載地址:http://www.videolan.org/vlc/
?
使用第三方推流SDK
最簡單的方式,就是可以借助于第三方的推流SDK,大多情況下第三方SDK完整方案都是收費的,不過他們的推流Android SDK倒是可以下載無需付費情況下來學習使用的。
這里以百度云的直播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
直接點擊下載Android SDK即可,下載完成后解壓,然后倒入AS(這竟然是個Eclipse項目…),還好AS支持
?
直接將mStreamKey修改我們的rtmp的地址即可。
注意,需要在build.gradle中添加下v7的依賴
compile 'com.android.support:appcompat-v7:23.0.0'使用開源項目推流
使用一個開源項目:
https://github.com/begeekmyfriend/yasea
直接clone,導入。?
這個比較順利,導入后,修改下rtmp鏈接
?
?
ffmpeg很火,ffmpeg很強大。?
所以最后一種方式,就是看如何利用ffmpeg推流啦~~
利用ffmpeg推流
大家可以自己下載ffmepg的源碼,然后按照網上的方式去編成so,簡單的一點而且比較實用的,就是編出可以執行ffmpeg 命令的so,這樣就能干很多事情了。
這里,由于篇幅,我們就直接使用別人編好的項目了。
https://github.com/WritingMinds/ffmpeg-android-java
直接導入,該項目支持直接運行ffmpeg的命令。
ffmpeg命令很多:?
例如:
將.avi轉成gif動畫(未壓縮)?
ffmpeg -i video_origine.avi gif_anime.gif?
合成視頻和音頻??
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg?
還有非常多的功能,可以參考:?
http://blog.csdn.net/king1425/article/details/70348374
其中有一個命令就是支持推流,這里將手機上的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=?
?
posted @ 2017-11-09 20:29 冷月舞痕 閱讀(...) 評論(...) 編輯 收藏總結
- 上一篇: Windows XP3安装interne
- 下一篇: 谷歌浏览器,无需安装