Android直播環境搭建

目錄

目錄

環境準備

●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.…php

直播測試

●OBS Studio配置推流: 在來源窗口右鍵->添加->顯示器捕獲 html

zhibo.png
而後在控件窗口點擊設置進行配置留的推送地址:
配置推流地址,推流的協議爲rtmp,後面則是服務器ip+端口號+隨意名稱(我是live),而後是下面的流名稱這裏我填的test。
設置完以後就能夠開始推流了
●VLC拉流播放: 打開VLC選擇工具欄的媒體->流
選擇網絡選項卡,而後咱們輸入與推流同樣的地址,而後點擊播放:
拉流成功的話會顯示你屏幕的圖像。

Android進行推流

這裏我使用的是一個很是好用的Android推流開源庫:github.com/begeekmyfri… 使用方式很簡單首先導入它的library而後在代碼中簡單幾行便可實現: 佈局文件代碼:java

<?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代碼:android

//另外這個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進行拉流播放: git

若是以爲VLC比較卡的話能夠使用一個在線的拉流播放工具: www.cutv.com/demo/live_t…
相關文章
相關標籤/搜索