Agora.ioを利用してrtmpサーバーへpushする 公開日:2022年05月13日 実装例・サンプルコード Agora iOS ※2020年の記事です。 agora.ioのSDKでは独自プロトコルで映像を配信していますが、既存のRTMPサーバーへのpushも並行して配信できます。OBSスタジオやWireCastのような配信アプリを作成する事が可能です。 お役立ち資料ダウンロード 【図解】システム開発のお手伝い ブイキューブのソリューションアーキテクトが、寄り添います!各種ライブ配信システムのアーキテクチャについて わかりやすい構成図にてご紹介! 無料ダウンロード 目次 [非表示] データフロー 図中の黒枠で囲んだ部分か今回の主な実装になります。 開発環境 macOS Mojave 10.14.1Xcode 10.1ios 12.1AgoraVideoSDK for iOS 2.3.1 ソースコード Githubに公開しています 元のソースは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) 出力 rtmp or HLSのプレイヤー上で720x640の領域内に360x640でスマホの映像が描画されています。 (視聴側のプロトコルはRTMPサーバーの機能によります) そのほか、最新の実装例・サンプルコード記事はこちら ガイドブックダウンロード 【最新版】超低遅延API/SDK「Agora」ガイドブック 通話・配信遅延30-200ms!100万人の視聴対応!未経験者から専門家まで、誰でも読みやすいAgoraのガイドブックをダウンロードしませんか。 無料ダウンロード 執筆者ブイキューブ Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。