BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

Azure の Video Indexer が凄いので試してみた♪

2018-6追記: 2018年5月版の情報を以下のブログで更新してます。

beachside.hatenablog.com


Video Indexer (2017年5月時点ではpreview)は、動画をアップロードするだけでAI技術を使って様々な分析をしてくれるサービスです。動画の翻訳して字幕を表示するくらいならすぐできます♪

Overview

ざっくりな機能を説明すると、動画をアップロードしたら、話した言葉をテキスト化して8言語に翻訳して字幕を付けてくれたり、人を認識して誰がどの時間軸で出ているかを判断してくる等の分析をします。それを検索して動画のシーンまで飛んでくれるとか便利機能モリモリ、それがVideo Indexerです。

ポータルのサイトからサクサクと利用することもできますし、RESTのAPIもあるのでシステムに組み込むこともできます。

 1. 機能概要
 2. Video Indexerのポータルから動作をお試し

1. 機能概要

動画アップロードすると、以下機能の分析を行ってくれます。 (公式ドキュメントの意訳ですので、詳しくはそちらを)。

  • Audio Transcription : Speech-to-text をして、再生に合わせて表示できます。編集ももちろんできます。現状は8つの言語(日本語、ロシア語、英語、スペイン語、フランス語、ドイツ語、イタリア語、中国語(簡体字)、ポルトガル語(ブラジル))をサポートしています。日本語ありますね。

  • Face tracking and identification : 顔認識をしてくれます。ついでにMSで登録してくれている有名人のDBと照合も。有名人のDBにヒットしない場合でも、顔自体はい認識されているので自分でラベルを付けることもできます。

  • Speaker indexing : 誰が話しているかを認識ししてくれます。

  • Visual text recognition : 動画でテキストを表示します。Audio Transcriptionで生成したテキストを表示するってやつですね。

  • Voice activity detection : バックグラウンドのノイズとしゃべっている音声を分離します。

  • Scene detection : シーンがいつ変更されるかを判断するための視覚的な分析します。

  • Keyframe extraction : 自動的にキーフレームを検出します。

  • Sentiment analysis : 音声と画像認識(顔からEmotionを取ってると思われる)から、positive、neutral、negativeの感情分析をしてくれます。動画のどの時間帯でどの感情だったかを表示します。

  • Translation : 翻訳をしてくれます。対応言語はAudio Transcriptionと同じ8言語です。動画閲覧時に翻訳した字幕を出すことができます。日本語の翻訳の精度は....ご想像のとおりです(汗)でも編集できるので、ここまで自動でやってくれるので素晴らしいですよ、うん。

  • Visual content moderation : アダルト(または際どい)コンテンツなのかを判別してくれます。コンテンツをフィルタリングする際に使えます。

  • Keywords extraction : トランスクリプトと、画像認識からキーワードを抽出できます。例えばBuild2017とかの動画だと、プレゼンのスライドで書かれている内容も認識してくれます。

  • Annotation : 2000の事前に定義されたオブジェクトを元に注釈をつけてくれます。

2. Video Indexerのポータルから動作をお試し

サインイン

前置きが長くなりましたが、さっそく使ってみましょう。ポータルのURLは https://vi.microsoft.com/ です。
(公式ドキュメントのQuickstarts > Getstartedから進もうとすると、URLが https://www.vi.microsoft.com/ になってて私はつながらない...うう)

現時点では無償で使える分、各種制限もありますので(ここでは書きませんが)確認しておきましょう。

GET STARTED からサインインしましょう(既にアカウントあるかはもちろん不要です)。

f:id:beachside:20170516113821p:plain


自身にとって適当なアカウントでサインインしましょう(私はMSので..)

f:id:beachside:20170516113850p:plain


私はMS関連のアカウントでサインインしたので、こんな画面が出ました。同意します。

f:id:beachside:20170516113949p:plain


動画のアップロード

無事にサインインできると、ポータルのトップ画面が表示されます。さっそく動画をアップロードしてみましょう。

f:id:beachside:20170516114154p:plain


ファイルはURL指定も可能です。便利ですね。今回は、MSのChannel9から動画をダウンロードしていたものをドラッグアンドドロップしました。

f:id:beachside:20170516114256p:plain

ファイル名とか、言語とか指定する画面が表示されますので、正しい内容を入力しましょう(画面キャプチャ取り漏れた...)

アップロードを開始すると、ビデオにカーソル当てて進捗を見ることができます。今回17分ちょいのビデオをアップロードしたのですが、10分くらいかかったかもです。アップロードと分析が完了するとメール通知が来るので放置プレイで大丈夫です。

f:id:beachside:20170516114545p:plain


動画を見てみる

画像が小さくなってて見にくいですが、Transcriptを英語から日本語に変更したり、動画の字幕に日本語を表示させたりしてます。便利だ。見ての通りですが左側にPlayer、右側がCognitive Insightsです。

f:id:beachside:20170516120642g:plain


 

外部に共有

動画の再生画面で、Embed ボダン(下図の赤丸の部分)をクリックします。

f:id:beachside:20170516115831p:plain


動画のURLが表示されますので共有することができます。また、iframeタグでPlayerか、Cognitve Insightsを張り付けることもできます。

f:id:beachside:20170516120147p:plain


試しにPlunkerというサイトで貼ってみましたが、ちゃんと動きました♪

f:id:beachside:20170516120238p:plain

まとめ

Cognitve Servicesの複数のAPIの活用事例的な印象ですね、すごい。

業務で利用するにしても、人の認識やテキストから動画内を検索できることで、色々な分野で利用できそうなパワフルなツールだと感じます。料金プランがどうなるかってところはありますが、これを開発せずに使えるのであればコストが多少高くても有用な気がします。

英語力低い私的には、これでChannel9で英語に字幕ついてない動画も簡単に字幕を付けてみることができますね。(実際見るかどうかは別として...)

2017/7 追記

ドキュメントにそのうち載るだろう機能で、動画再生時にデフォルトで字幕を表示するとかもあります。

Video Indexer で 字幕 を 表示 して 自動 再生 (Auto playing with captions is enabled in video indexer) - BEACHSIDE BLOG

参考

docs.microsoft.com

azure.microsoft.com