Azure AI Video Indexer の分析結果からレポートを作成してみた

Azure AI Video Indexer については、別の記事もありますので概要等についてはそちらをご参照ください。
以下の記事では、Azure AI Video Indexの概要と分析の手順、分析データから簡単な RAGチャットボットを試しています。
以下の記事では、Microsoft Ignite 2024の動画を分析しています。今回も同じ動画を素材として使用します。
Azure AI Video Indexer の分析結果
Video Indexerで動画の分析を実行すると、分析結果が以下のように表示されます。以下は、別の記事でも紹介している「Microsoft Ignite 2024 Keynote」動画の分析結果になります。動画分析までの手順は、以前の記事をご参照ください。
![]() |
音声が英語のため、タイムライン部には文字起こし情報が英語で表示されます。
表示言語を日本語に変更すると文字起こし情報を日本語で表示できます。
![]() |
分析結果は「ダウンロード」ボタンからダウンロードすることができます。
今回使用するファイルは、ダウンロードできるファイルのうち「分析情報(JSON)」と「成果物(ZIP)」になりますので、こちらについて説明します。
![]() |
分析情報(JSON)
分析情報ファイルには、様々な情報が含まれています。各情報は、[insights] 配下に出力されており、今回はその中から以下の項目を取得します。※英語動画でも表示言語を日本語とした状態でダウンロードすると、日本語のトランスクリプトになっていました。
項目名 | 内容 |
---|---|
transcripts | 文字起こし情報 |
scenes | シーン情報 |
shots | 画面キャプチャ情報 |
![]() |
[transcript] ブロックは、以下のように文字起こしデータと動画中の位置(開始時間-終了時間)が記録されています。
![]() |
成果物(ZIP)
成果物ZIPファイルには、以下のファイルが含まれています。![]() |
ファイル名 | 内容 |
---|---|
_KeyFrameThumbnail.zip | シーンの画面キャプチャ画像 |
acousticeventdetection.json | バックグラウンドの音響情報 |
contentmoderation.json | コンテンツモデレーション結果 |
detectedobjects.json | 物体検出情報 |
digitalpatterns.map.json | mapファイル |
emotions.json | 感情分析情報 |
featuredclothing.zip | 人物情報のキャプチャ結果と画像 |
labels.computervision.json | ラベル情報 |
observedpeople.json | 観察された人物情報 |
ocr.json | OCR取得結果 |
textlessmaterial.map.json | mapファイル |
Textual_Content_Moderation.json | テキストコンテンツモデレーション結果 |
transcript.speechservices.json | 文字起こし結果 |
[_KeyFrameThumbnail.zip] を展開すると、動画から自動的にキャプチャされた画像が出力されています。
作成するレポートに貼り付ける画像は、こちらを使用します。
![]() |
ファイル名は、[KeyFrameThumbnail_{id}.jpg] となっており、[shots] 中の [thumbnailId] と紐づきます。
ここにも動画中の位置(開始時間-終了時間)が含まれますので、どの時点の画像であるか分かります。
![]() |
分析データの簡単な説明は以上になります。この情報から、レポートを作成してみます。
作成するレポートの仕様定義
今回作成するレポートは、以下の仕様とします。ファイルフォーマット | Wordファイル(.docx) |
レイアウトは、分析データの「シーン」毎に「タイトル」「シーンの画像」「要約文」を配置します。シーンの数だけ繰り返したものを1つのWord文書として作成します。
要約文は、そのシーンに該当するトランスクリプトを要約します。トランスクリプトが日本語以外であっても要約文は日本語出力します。(このあたりは、Azure OpenAI で処理します)
シーン中に複数のキャプチャ画像が含まれる場合がありますが、その場合は任意の画像を貼り付けます。
![]() |
レポートの作成
早速簡単なプログラムを作成し、レポートを作成してみたところ、以下のようなレポートができました。
(自動作成したレポートの一部シーン。実際には、41シーン認識していましたので、このようなブロックが 41個出力されています。)
![]() |
![]() |
簡単なプログラムを作っただけですが、割とそれっぽいレポートが作成できました。ただし、いろいろな課題がありますが、用途に合わせてチューニングすれば良さそうです。
認識している主な課題は、以下のようなものがあります。
課題 | 考えられるチューニング策 |
---|---|
誤字が含まれる | 自動文字起こし時点で誤字、認識違い等が発生している。事前にトランスクリプトを修正するか、要約時に読み替えるなどの対応が必要。 |
選択された画像が微妙 | 各シーンには複数の画像が取得されており、その中の1枚を選択しているが、要約文にマッチした画像を選択する仕組みが必要。 |
シーンの長さがまちまち | 自動的に検出したシーンの区切りは、シーンが切り替わったとされる時点となり、シーンの長さ(トランスクリプトの量)が異なる。シーンの分割/統合や、トランスクリプト量によって要約文の長さを調整するなどの対応が必要。 |
おまけとして、トランスクリプト情報でワードクラウドを作ってみました。細かくチューニングできていないので微妙ですけど、うまく作ればこの動画の主要ワードを一目でわかるようにできそうです。
![]() |
トランスクリプト以外でも、キーワード、トピック、ラベル、感情等の項目もあります。こちらもそれぞれ動画のどの位置で出現したか出力されています。こちらの時間を集計すると動画中にどの程度の割合で出現したか分かりますので、これをもとに動画の傾向を分析できます。
例えば、感情分析結果を使い、コールセンターの音声録音データからユーザーが不機嫌な(「怒り」の感情)割合を可視化するなどもできそうです。
おわりに
今回は、Azure AI Video Indexer の分析結果を用いた簡単な実用例を紹介しました。このサンプル実装では、動画の分析処理の実行や分析結果のファイル取得など、手作業で行う部分も残っています。Video Indexer用の APIも用意されていますので、そちらを活用することで処理を自動化できるところもありそうです。
Azure AI Video Indexerを使用した動画解析に興味がある場合やもっと別の仕組みを試してみたいなどありましたら、ぜひお声掛けください。
QESでは、「AIチャットボット構築サービス」をはじめとして、各AIサービスを利用したシステム導入のお手伝いをしております。それ以外でも様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、是非一度 お問い合わせ ください。
※このブログで参照されている、Microsoft、Azure AI Video Indexer、Azure OpenAI、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。