DJIのドローンとAWS Elemental MediaLiveでライブ配信をしてみた

DJI Spark ドローン、Elemental MediaLive、Elemental MediaPackageを使ってライブ配信をしてみた。
2021.05.29

テクニカルサポートチームの丸屋 正志(まるちゃん)です。

1. はじめに

一度は、ドローンから LIVE 配信してみたいなー?って思ったことはありませんか?僕は、勿論ありますよ。

Image from Gyazo

ここでは、難しい解説などは全部飛ばします。
ドローンからの LIVE 配信だけを考えます。

2. 前提条件

  • DJI Spark ドローン
  • AWS アカウント
  • 東京リージョンのみを利用
  • 外では飛ばしていません
  • 法律に遵守

3. AWS Elemental MediaPackage の設定

3.1. MediaPackage チャンネル 編

最初に MediaPackage の チャンネルを作成していきます。

【Channels】 の 【Create】 を選択して、下記情報のように入力をします。

  • Channel details
    • ID : 【MediaPackage-Drone-Channel】
    • Description : 【MediaPackage-Drone-Channel】
    • Input Type : 【Apple HLS】

Image from Gyazo

3.2. MediaPackage Endpoints 編

チャンネルを作成後に 《Endpoints》 を作成するので、 【Add endpoints】 を選択して、下記情報のように入力をします。

  • Endpoints details
    • ID : 【MediaPackage-Drone-Endpoint】
    • Description : 【MediaPackage-Drone-Endpoint】
    • Packager settings Type : 【Apple HLS】

Image from Gyazo

下記のように 《Inputs》 が 2 個、 《Endpoints》 が 1 個作成されていることを確認します。

Image from Gyazo

4. AWS Elemental MediaLive の設定

MediaPackage とは、違うタブで開くことを推奨いたします。

4.1. MediaLive 入力セキュリティグループ 編

最初に入力用のセキュリティグループを作成していきます。

Image from Gyazo

《入力セキュリティグループの作成》 にて、接続を許可したい IP を入力をします。

  • aaa.bbb.ccc.ddd/32

Image from Gyazo

4.2. MediaLive 入力 編

次に 《入力》 を作成していきます。

【入力】 の 【入力の作成】 を選択して、下記情報のように入力をします。

Image from Gyazo

  • 入力の詳細
    • 入力名 - 必須 : 【MediaLive-Drone-Input】
    • 入力タイプ - 必須 : 【RTMP(プッシュ)】

Image from Gyazo

  • 入力セキュリティグループ
    • 既存の使用 : 選択
    • 作成済みの【入力セキュリティグループ】を選択
  • 入力の送信先
    • STANDARD_INPUT : 選択
    • アプリケーション名(送信先A/B) : 【live】
    • インスタンス(送信先A/B) : 【drone】

Image from Gyazo

下記のように 《入力》 が作成されていることを確認します。

Image from Gyazo

4.3. MediaLive チャネル 編

次に 《チャネル》 を作成していきます。

【チャネル】 の 【チャネルの作成】 を選択して、下記情報のように入力をします。

Image from Gyazo

  • 全般情報
    • チャネル名 : 【MediaLive-Drone-Channel】
    • IAM ロール : 【既存のロールの使用】

Image from Gyazo

【テンプレートからロールを作成】→【IAM ロールの作成】を選択するとロールが作成されるので、作成されたロールを選択します。

Image from Gyazo

  • チャネルテンプレート
    • 【HTTP live streaming】 の 【MediaPackage】 を選択
    • テンプレートの変更 : 【確認】

Image from Gyazo

出力グループの 【MediaPackage group】 を選択

Image from Gyazo

  • MediaPackage Destination
    • MediaPackage Channel ID : 【MediaPackage-Drone-Channel】
  • MediaPackage 設定
    • 名前 : 【MediaPackage-Drone-Channel】

Image from Gyazo

《MediaPackage 出力》 にて下記 3 種類だけを残して、他は【X】を選択して全て削除します。

  • 1280_720_1
  • 1920_1080
  • 480_270

Image from Gyazo

最後に 《入力アタッチメント》 を作成していきます。

Image from Gyazo

  • 入力をアタッチ
    • 入力 : 【MediaLive-Drone-Input RTMP_PUSH】

Image from Gyazo

以上で、環境構築の準備でした!


5. ドローン の設定

それでは、今回使用する DJI Spark さんに登場してもらおうと思います。
なお・・・Spark さんは生産終了しておりますので、予めご了承ください。(つまり、僕が持っている この DJI Spark ドローンを壊したら終わり。ヤバい。)

商品詳細ページ : DJI Spark

(iPhone12Pro で頑張ってポートレートなどを使用して撮影しました。)

Image from Gyazo

ここでは、スキップしますが事前にファームアップデートとかをしておきましょう。

5.1. 注意

ドローンを外で飛ばす際は、下記の法律に遵守いたしましょう。
詳細につきましては、各リンク先から確認をしてください。

『あれ?!公園なら、飛ばせるんじゃ?!』と思ったそこの君へ、【お住まいの県 公園 ドローン】と調べてみましょう。

例えば、私が住んでいる愛知県では、《都市公園条例》という公園の条例があり、 2016 年から公園でドローンの飛行が禁じられています。

以上を踏まえた上で、ドローン配信の準備をしていきます。

5.2. スマホアプリのインストール

DJI GO 4

DJI GO 4
開発元:DJI
無料
posted withアプリーチ

5.3. RTMP配信をしてみる

アプリを開いて、コントローラーとスマホを接続します。

Image from Gyazo

【ライブ中継プラットフォームを選択します】を選択します。

Image from Gyazo

【RTMP カスタム】 を選択します。

Image from Gyazo

MediaLive で作成した 《入力》 のエンドポイントの片方を、アプリ入力します。

Image from Gyazo

(静止画ですが・・・)実際にLIVE 配信をすると下記のように閲覧することができます!

Image from Gyazo

5.4. 閲覧方法

MediaPackage で作成した 【Channels】 を開き、《Endpoints》にて確認することが出来ます。

  • ID : メトリクスや詳細情報など
  • Preview : 簡易的に配信を閲覧
  • URL : 他の人にもシェアをすることで配信を閲覧

Image from Gyazo

6. 参考サイト

詳しい解説や料金体型については、下記をご参照ください。

7. 最後に

お気づきの方も・・・
実は、ドローンじゃなくても・・・OBS や RTMP 対応のスマホアプリから飛ばすことも出来ます。

ドローンの資格が欲しくなってきた。