agora.IO push를 이용하여 rtmp 서버에 가기

4722 단어 SwiftrtmpAgora.ioiOS
agora.IO의 SDK는 독립 프로토콜을 통해 영상을 보내지만 기존 RTMP 서버에 push를 동시에 보낼 수도 있다.
OBS Room 및 WireCast 같은 게시 애플리케이션을 제작할 수 있습니다.

데이터 흐름



그림의 검은 테두리로 둘러싸인 부분이나 이번의 주요 실장.

개발 환경


macOS Mojave 10.14.1
Xcode 10.1
ios 12.1
AgoraVideoSDK for iOS 2.3.1

소스 코드


Giithub에 공개하고 있습니다.
원본 소스는 SDK에 포함된 샘플 항목(OpenLive-iOS)입니다.

설치 내용


언제든지 다음 코드를 실행합니다.
LiveRoomViewController.swift
//描画サイズ,ビットレート,フレームレート等の設定
let transcoding = AgoraLiveTranscoding()
transcoding.size = CGSize(width: 720, height: 640)
transcoding.videoBitrate = 1024
transcoding.videoFramerate = 15
transcoding.lowLatency = true
transcoding.backgroundColor = UIColor .white

//配信uid,映像表示サイズ/位置等の設定
let localLayout = AgoraLiveTranscodingUser()
localLayout.uid = 1000;//Channelに接続した時のuid
localLayout.rect = CGRect(x:0, y:0, width:360, height:640);
localLayout.zOrder = 1;
localLayout.alpha = 1;
transcoding.transcodingUsers = [localLayout]

rtcEngine.setLiveTranscoding(transcoding)

//サーバーへの配信開始            
rtcEngine.addPublishStreamUrl("rtmp://[SERVER]/[APP]/[STREAM]",transcodingEnabled: true)

출력


Tmpor HLS 플레이어에서는 720×640의 영역에서 360x640으로 스마트폰 영상을 그렸다.

(RTMP 서버의 기능에 따라 관중 협의)

최후


agora.IO에 대한 문의는 이쪽부터.

좋은 웹페이지 즐겨찾기