目錄
環境準備
●Centos系統安裝:請檢視我的另一篇部落格Java後端之路(六)安裝Linux系統 ●git安裝(系統如果沒有的話):www.cnblogs.com/imyalost/p/…,git配置完後記得重啟系統才能生效,或者執行source /etc/profile命令也可以。 ●SRS流媒體伺服器安裝(官方教程):github.com/ossrs/srs/w… 安裝完之後還需要將官方的安裝說明中的srs.conf裡涉及到的埠進行開放。 ●Linux埠開放:jingyan.baidu.com/article/0eb… ●OBS Studio推流軟體下載:www.onlinedown.net/soft/637537… ●VLC拉流軟體下載:www.onlinedown.net/soft/16216.…
直播測試
●OBS Studio配置推流: 在來源視窗右鍵->新增->顯示器捕獲
然後在控制元件視窗點選設定進行配置留的推送地址: 配置推流地址,推流的協議為rtmp,後面則是伺服器ip+埠號+隨意名稱(我是live),然後是下面的流名稱這裡我填的test。 設定完之後就可以開始推流了 ●VLC拉流播放: 開啟VLC選擇工具欄的媒體->流 選擇網路選項卡,然後我們輸入與推流一樣的地址,然後點選播放: 拉流成功的話會顯示你螢幕的影象。Android進行推流
這裡我使用的是一個非常好用的Android推流開源庫:github.com/begeekmyfri… 使用方式很簡單首先匯入它的library然後在程式碼中簡單幾行即可實現: 佈局檔案程式碼:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.itfitness.zhiboapp.MainActivity">
<net.ossrs.yasea.SrsCameraView
android:id="@+id/glsurfaceview_camera"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
複製程式碼
Activity程式碼:
//另外這個Activity還需要實現這些介面:SrsEncodeHandler.SrsEncodeListener, RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListener
SrsCameraView cameraView = (SrsCameraView) findViewById(R.id.glsurfaceview_camera);
mPublisher = new SrsPublisher(cameraView);
//編碼狀態回撥
mPublisher.setEncodeHandler(new SrsEncodeHandler(this));
mPublisher.setRecordHandler(new SrsRecordHandler(this));
//rtmp推流狀態回撥
mPublisher.setRtmpHandler(new RtmpHandler(this));
//預覽解析度
mPublisher.setPreviewResolution(1280, 720);
//推流解析度
mPublisher.setOutputResolution(720, 1280);
//傳輸率
mPublisher.setVideoHDMode();
//開啟美顏(其他濾鏡效果在MagicFilterType中檢視)
mPublisher.switchCameraFilter(MagicFilterType.BEAUTY);
//開啟攝像頭,開始預覽(未推流)
mPublisher.startCamera();
//mPublisher.switchToSoftEncoder();//選擇軟編碼
mPublisher.switchToHardEncoder();//選擇硬編碼
//開始推流 rtmpUrl(ip換成伺服器的部署ip)
mPublisher.startPublish("rtmp://192.168.0.102/live/test");
複製程式碼
接下來使用VLC進行拉流播放:
如果覺得VLC比較卡的話可以使用一個線上的拉流播放工具:www.cutv.com/demo/live_t…