松本典子の「Azure Logic Apps」超入門 ~AI編~ 第11回
Azureの「Logic Apps」+「Video Indexer」でYouTubeでも使えるWebVTT形式のデータを生成する
AI+ノーコードで動画の字幕を自動生成するツールを作ろう
2021年02月15日 08時00分更新
3-3. video-captionワークフロー(.vttファイルを生成してOneDriveに保存する)
2つめのLogic Appsワークフロー、video-captionの全体図はこのような形です。先ほど作成したvideo-indexerの結果を利用して、WebVTTフォーマットのキャプションテキストファイルを生成し、OneDriveの指定フォルダに保存します。
3-3-1. Azure Logic Appsのトリガーの作成
このワークフローのトリガーには「HTTP 要求の受信時」を選択します。「要求の受信時」と検索するとトリガー欄に表示されるので、選択します。
ここでいくつかの設定項目が表示されますが、特に設定することはありません。
3-3-2. Get Account Access Token(プレビュー)コネクタの設定
「+新しいステップ」をクリックして、次のアクション(Video Indexerサービスへの接続)を追加します。
「Video Indexer」コネクタを検索して、アクション一覧から「Get Account Access Token(プレビュー)」を選択します。
上の画面表示に切り替わったら、以下の設定を入力します。
- Location:「trial」を選択
- Account ID:2-1-2.で確認したAccount IDをコピー&ペースト
- Allow Edit:「はい」を選択
3-3-3. Get Video Index(プレビュー)コネクタの設定
「+新しいステップ」をクリックして、次のアクション(Video Indexerサービスからビデオのインデックス情報を取得)を追加します。
「Video Indexer」コネクタを検索し、「Get Video Index(プレビュー)」アクションを選択します。この表示に切り替わったら、以下の内容を入力します。
- Location:「trial」を選択
- Account ID:2-1-2.で確認したAccount IDをコピー&ペースト
- Video ID:「動的なコンテンツ」から「HTTP 要求の受信時」の「id」を選択
- Access Token:「動的なコンテンツ」から「Get Account Access Token」の「Access Token」を選択
- Captions Language:「Japanese」を選択
3-3-4. Get Video Captions(プレビュー)コネクタの設定
「+新しいステップ」をクリックして、次のアクション(取得したインデックスからのキャプション抽出)を追加します。
「Video Indexer」コネクタを検索して、「Get Video Captions(プレビュー)」アクションを選択します。上の画面表示に切り替わったら、以下の内容を入力します。
- Location:「trial」を選択
- Account ID:2-1-2.で確認したAccount IDをコピー&ペースト
- Video ID:「動的なコンテンツ」から「HTTP 要求の受信時」の「id」を選択
- Access Token:「動的なコンテンツ」から「Get Account Access Token」の「Access Token」を選択
- Format:「vtt」(WebVTT形式)を選択
- Captions Language:「Japanese」を選択
3-3-5. ファイル作成コネクタの設定
「+新しいステップ」をクリックして、次のアクション(OneDriveへのキャプションファイル保存)を追加します。
「OneDrive」コネクタを検索し、「ファイル作成」アクションを選択します。
上の画面表示に切り替わったら、以下の内容を入力します。
- フォルダーのパス:自動生成した「.vtt」形式のテキストファイルを保存するフォルダ(movie-caption)を選択
- ファイル名:「動的なコンテンツ」から「Get Video Index」の「Name」を選択。後ろに続けて拡張子「.vtt」を入力
- ファイルコンテンツ:「動的なコンテンツ」から「Get Video Captions」の「本文」を選択
以上で2つめのワークフローも完成しました。最後に「保存」をクリックします。
video-captionフローを保存すると、トリガーの「HTTP 要求の受信時」にHTTP POSTのURLが表示されるので、このURLをコピーした状態で、1つめに作成したvideo-indexerフローをふたたび開きます。
3-4. video-indexerフローのCallback URL設定
ここでは、video-indexerフローの最後のアクションである「Upload video and index(プレビュー)」に設定を追加し、このアクションが実行されたら(つまりVideo Indexerサービスにビデオファイルがアップロードされたら)、2つめのvideo-captionフローのトリガーが起動するようにします。
まず「Upload video and index(プレビュー)」アクションを開き、「Add new parameter」をクリックして「Callback URL」にチェックを入れます。そのうえで、先ほど3-3-5.で取得したHTTP POST URLをペーストします。設定追加はこれだけです。
最後に「保存」をクリックして、修正したvideo-indexerフローを保存します。
実行結果
以上で、OneDriveに動画をアップロードすると、動画に字幕を付けるための.vttファイルを自動で書き出す仕組みが出来上がりました。
まず、OneDriveの指定フォルダ「movie-original」に動画ファイルを入れてみます(今回は自分のプレゼン動画を使いました)。しばらくすると、OneDriveの「movie-caption」に.vtt形式のファイルが出力されます。これを手元のPCにダウンロードします。
なお、動画ファイルのサイズによって、アップロードや処理に時間がかかることがあります。アップロードや処理の進捗状況はVideo Indexerポータルで確認できます。
WebVTTはクローズドキャプションデータの標準形式であり、さまざまな再生ツールが対応しています。たとえばWindows 10標準の動画再生アプリの場合、まず動画ファイルを開き、①をクリックすると「字幕ファイルを選択」というメニューが表示されます。ここで、先ほどダウンロードした.vttファイルを指定し②のように選択します。
キャプションのファイルを指定すると、このような形で、しゃべった内容に合わせて字幕が表示されるようになります。そのほかにも、たとえばYouTubeにこの.vttファイルをアップロードすることで、字幕を追加することができます。
なお、Video Indexerが書き起こした内容に間違いがあることもあります。この場合、.vttファイルをテキストエディタや「Visual Studio Code」などのツールで開けば、キャプションのテキストは簡単に修正できます。
このような形で、動画のテキストを自動で書き起こし、字幕用のファイルを自動作成することができます。動画に字幕をつけたい場面では、ぜひ活用してみてください。
この連載の記事
-
第10回
TECH
メールで届く添付ファイルの暗号化を自動解除するLogic Appsを作ろう -
第9回
TECH
人物写真の顔をAIが検出し、ぼかしてツイートするLogic Appsを作ろう -
第8回
TECH
Power AutomateのRPA「UIフロー」でPhotoshopの操作を自動化してみよう -
第7回
TECH
「指定した場所に近づくとスマホに買い物リストを通知する」仕組みを作ろう -
第6回
TECH
文字入り画像を送るとテキストに書き起こすLINEボットを作ろう -
第5回
TECH
現在地から目的地までの道案内をするLINEチャットボットを作ろう -
第4回
TECH
音声認識AIを使ってLINEのボイスメッセージをテキスト変換してみよう -
第3回
TECH
自分用メモ的にLINE送信した予定をAIで読み取ってGoogleカレンダーに自動登録しよう -
第2回
TECH
AIで「alt属性」文章を自動生成しよう!もちろんノンコーディングで -
第1回
TECH
ノンコーディングで質問に自動回答するLINE BOTを作ってみよう - この連載の一覧へ