美豔直播項目應用源碼下載

當前視頻直播很是火爆,手機端的視頻直播也很是火爆,PGC、UGC的視頻直播門檻都下降了不少。html

本文介紹一個:IOS 客戶端直播的SDK,代碼徹底開源。ios

直播時代:讓IOS普通開發者一天內作出一個RTMP直播客戶端,而且帶有美豔直播功能web

包含一下功能:服務器

 

 

源碼下載:http://code.662p.com/view/13003.html網絡

 

 

1, 提供IOS蘋果手機的RTMP推流;session

填寫RTMP服務地址,直接就能夠進行推流。iphone

2,美顏直播async

美不美都能裝的直播,IOS OPENGL美豔加速,手機徹底不發燙。ide

3,先後攝像頭隨時切換4,提供RTMP鏈接狀態的回調spa

一,首先簡單掃盲

當前直播都是用RTMP協議,推流到RTMP服務器。

而後RTMP服務器提供RTMP視頻服務;

固然一般RTMP服務器也提供HLS,把視音頻流切片成ts流,而後用戶能夠直接播放xxx.m3u8的流媒體。

 

二,SDK使用簡介

1,初始化

[LiveVideoCoreSDK sharedinstance]:全局獨立的SDK實例,你不用管理對象的申請和釋放;

初始化RTMP鏈接和視頻參數,很是簡單:

[[LiveVideoCoreSDK sharedinstance] LiveInit:RtmpUrl Preview:self.view VideSize:LIVE_VIEDO_SIZE_CIF BitRate:LIVE_BITRATE_500Kbps FrameRate:LIVE_FRAMERATE_20];

參數:

RtmpUrl: rtmp服務器地址參數,如rtmp://192.168.30.191/live/123456

Preview: IOS本地預覽顯示的UIVIEW對象,如今都喜歡全屏直播模式,這裏直接用self.view

VideSize: 視頻分辨率。這裏提供了幾種視頻分辨率,CIF(320*640),D1(540*960),720P(720*1280)

BitRate: 視頻碼率。有500kbps對應CIF,800kbps對應D1, 2Mbps對應720p,怎麼配置就看你手機當前的帶寬狀況了。

FrameRate: 視頻幀率。這個決定視頻流暢程度,幀率越高越流暢。這裏提供:15幀/s,20幀/s,25幀/s,20幀/s

2,鏈接RTMP視頻服務器

[[LiveVideoCoreSDK sharedinstance] connect];

調用這個接口後,開始打開iphone本地手機預覽,而且開始鏈接RTMP服務器。

若是網絡沒有問題,RTMP服務器沒有問題,直播就開始了,簡單吧!

3,設置濾鏡:提供美豔效果

- (void)setFilter:(LIVE_FILTER_TYPE) type;

當前提供了美白效果,設置一個LIVE_FILTER_BEAUTY這個參數,看看你有多美白。

4,設置先後攝像頭

- (void)setCameraFront:(Boolean)bCameraFrontFlag;

先後攝像頭隨時動態切換,想怎麼拍就怎麼拍。

5,設置RTMP鏈接狀態回調

[LiveVideoCoreSDK sharedinstance].delete = self;

在你的viewcontroller中實現協議:LIVEVCSessionDelegate,以下,這樣你能夠隨時知道RTMP鏈接的狀態了。

//rtmp status delegate:

- (void) LiveConnectionStatusChanged: (LIVE_VCSessionState) sessionState{

    dispatch_async(dispatch_get_main_queue(), ^{

        switch (sessionState) {

            case LIVE_VCSessionStatePreviewStarted:

                _RtmpStatusLabel.text = @"RTMP狀態: 預覽未鏈接";

                break;

            case LIVE_VCSessionStateStarting:

                _RtmpStatusLabel.text = @"RTMP狀態: 鏈接中...";

                break;

            case LIVE_VCSessionStateStarted:

                _RtmpStatusLabel.text = @"RTMP狀態: 已鏈接";

                break;

            case LIVE_VCSessionStateEnded:

                _RtmpStatusLabel.text = @"RTMP狀態: 未鏈接";

                break;

            case LIVE_VCSessionStateError:

                _RtmpStatusLabel.text = @"RTMP狀態: 錯誤";

                break;

            default:

                break;

        }

    });

}

6,直播結束,斷開rtmp鏈接

[[LiveVideoCoreSDK sharedinstance] disconnect];簡單吧,不解釋了。

 

 

 

詳細說明:http://ios.662p.com/thread-2746-1-1.html

相關文章
相關標籤/搜索