何をする記事ですか?
Azure Media Services を使って日本語の動画に日本語・英語の字幕を付けていきます :)
Azure Media Services
記事が長くなったので、前編と後編に分かれています。
流れ
前回までにやったこと
前回 -> Video Indexer を使って、映像から音声を抽出してみた!! 📹
- 動画を用意する
- inver でテキストにする
- テキストをローカルに落とす(前回はここまで)
今回やること
前回の作業のおさらい
- Video Indexer を使うことで、映像から簡単に文字起こしが出来ました。
- また、その文字起こしのデータもダウンロード行っておきます。
また、今回使用している動画は Serverless Meetup Tokyo #16 の主催者さまから頂いた動画データを用いています。
多謝 (-人-)
参考資料
Azure | Azure Media Services 基礎 (前編)
Azure | Azure Media Services基礎 (後編)
Azure Media Services に動画をアップロードする
上記の参考資料の公式動画を見ながら、Azure Media Services に手もとの動画をアップロードし、Azure 上でエンコードします。
- Azure のポータルを開きます。
- 検索から
Media Services
を探します。
- 下記のような画面に遷移します。
Add
から新規作成し、以下のように埋めて作成します。
- 無事に作成出来ました :)
- (適当に名前をつけた結果、これじゃない感が…みなさんは適切な名前をつけましょう
- 早速、Media Services を開きます。
- まずは動画をアップロードするために
Assets
を開き、Upload
をクリックします。
- 下記のような画面になるので、ローカルに保存している動画をアップロードします。
- 今回は Serverless-Meetup-Tokyo-16.mp4 という名前の動画をアップロードしました。
- Upload 中
- Upload が終ると Assets の中に登録されます。
Azure 上で、動画をストリーミング用にエンコードする
- 引き続き、Assets の中で
Encode
をクリックします。
- 下記のような画面に遷移します。
- ここで、
Encoding preset
をAdaptive Streaming
に指定しましょう。
- ここで、
- そうすると、Encode が始まります。
- しばらく待ちましょう :)
- Encode が終わった後に、
Assets
に戻ると、先程作成したストリーミング用の動画が出来上がっているのでこちらをクリックします。
- ストリーミング用の動画のページにて
Publish
をクリックします。
- 下記の様な公開期間の設定が出来るので、任意に設定しましょう。
- デフォルトは 100 年間になっています。
Publish
の設定を行うと、Play
がクリック出来るようになります。
- 動画の Player が立ち上がるので、
Playback URL
をコピーしておきます。
- ブラウザの別タブにて、Azure Media Player を起動し、先程コピーした
Playback URL
を入力して、Updatae Player
にて反映させます。- この時、
Playback URL
はhttp
なので、https
に変換しましょう。(s
を入れるだけです)
- この時、
- Azure Media Player でも再生出来ることが分かりました。
- Azure Media Player の
Code
をクリックし、Get Player code
をクリックします。
- 下記のように、html ファイルに記載すべき情報を掲示してくれるので、ローカルに作成した index.html にそれぞれを記載していきます
- index.html
- 実際の例
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Serverless Meetup #16 </title> <link href="//amp.azure.net/libs/amp/2.3.4/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet"> <script src="//amp.azure.net/libs/amp/2.3.4/azuremediaplayer.min.js"></script> </head> <body> <video id="azuremediaplayer" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"></video> <script> var myOptions = { "nativeControlsForTouch": false, controls: true, autoplay: true, width: "640", height: "400", } myPlayer = amp("azuremediaplayer", myOptions); myPlayer.src([ { "src": "https://iganari-jpea.streaming.media.azure.net/eff92941-9aa5-4ad0-9232-35886fa43952/Serverless-Meetup-Tokyo-16.ism/manifest", "type": "application/vnd.ms-sstr+xml" } ]); </script> </body> </html>
Azure の Static Website を利用する
- Azure のポータルに戻り、Static website 用の Storage account を新規で作成します。
- 新規作成した Storage account を開き、Settings の中の
Static website
を開きます。
Disabled
をEnabled
に変更し、設定項目を入れてSave
します。- ここ表示される、
Primary endpoint
をコピーしておきましょう。
- ここ表示される、
- 次に、 Storage account の中の Blob service 項の
Containers
をクリックし、$web
をクリックします。
- 遷移先で、先程作成した index.html をアップロードします。
- 先程コピーした
Primary endpoint
にアクセスして、動画が再生出来るか確認しましょう。
まとめ
Azure Media Services と、 Azure Static website を用いることで簡単に動画を公開することが出来ました!!
次回は日本語と英語の字幕を付けていきます!!
Have fan! :)