2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Transcribeを使ってMP4ファイルに字幕を付けてみる

Last updated at Posted at 2022-06-10

はじめに

動画ファイルに半自動的に字幕をつける方法についてまとめる。

今回、文字起こしには「AWS Transcribe」を使った。12ヶ月限定の無料枠もあり、そうでなくてもそこまでの料金は設定されておらず、手軽に使える。
特に、SRTファイルを出力できるため、字幕作成にはとても有用なサービスとなっている。

また、動画に字幕を追加する作業は、ffmpegを使い、ローカル環境で実行する。

検証環境 (字幕追加作業用)

  • MacBook Air (M1, 2020) macOS Monterey 12.4

手順

以下の流れで動画に字幕を追加する。

  1. Speech-To-Textと字幕ファイルの生成
  2. 字幕の修正
  3. 動画に字幕を追加

1. Speech-To-Textと字幕ファイルの生成

動画 (MP4ファイル) に音声認識をかけて字幕ファイル (SRTファイル) を生成する。今回この文字起こしには前述の通り「AWS Transcribe」を使う。

まず、対象の動画ファイル (ここでは input.mp4) を適当なS3へ格納する。

image.png

次に、AWS Transcribe から文字起こしを行う。

「Transcription job」を作成する。日本語音声のため、「Language」は「Japanese」を選択。

image.png

「Input data」で、先ほどS3へ格納したMP4ファイルを選択する。

image.png

「Output data」の「Subtitle file format」で、今回必要なSRTファイルが出力されるよう「SRT」にチェックを入れる。

image.png

次ページのConfigure jobも含めその他は既定値のままで「Create job」をし、Jobをスタートさせる。

image.png

完了すると、jobの画面で実行結果を確認できる。
また、「Transcription preview」で認識結果のテキストやSRTファイルのプレビューも可能。右上の「Download」からSRTファイルをダウンロードする。

image.png

2. 字幕の修正

自動音声認識による字幕生成であるため、一部誤認識となった部分も含まれていることがある。
任意でSRTファイルを修正する。

3. 動画に字幕を追加

「ffmpeg」を使い、動画に字幕を追加する。

  • 元とする動画ファイル input.mp4
  • 字幕ファイル srtSubtitles.srt
  • 字幕をつけた動画ファイル output.mp4
ffmpeg -i input.mp4 -i srtSubtitles.srt \
    -c copy -c:s mov_text \
    -metadata:s:s:0 language=jpn \
    output.mp4

再生

QuickTime Player等、字幕再生に対応している動画プレイヤーで再生すると、このように字幕を表示させることができる。

字幕動画

まとめ

AWS Transcribeとffmpegを使って字幕を追加する方法についてまとめた。音声認識の精度もそれなりに高く、このようにSRTファイルも出力できるため、字幕追加の作業がスムーズになった。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?