🛠️

WhisperでDrive内の動画からテキストを抽出してみた(Google Colaboratory) 🎥→📝

2024/01/26に公開

はじめに

本記事は以下記事の内容と同一です。
https://qiita.com/nkkn_prog/items/f8b5400bc194f68e91ae


最近OpenAIのサービスが急速に普及してますね。
最新技術に触れたいなあということで趣味で動画からテキストを抽出するアプリを作ってみました。

使う技術は以下の2つです。

FFmpeg
OpenAI Whisper

Whisperの仕様上、25MB(大体20分くらいの動画)以下の音声ファイルしか文字起こしはできませんが、誰でも簡単に無料でできます。

下にColaboratoryのサンプルコードも載せてるので、使ってみたい方は、コピーして使ってください。

※この記事では簡略化のために、必要最低限のコードだけ載せています。

1.Google ColaboratoryとGoogle Driveを繋げる

まずGoogle Drive内に保存された動画を取得するために、Google Colaboratory(以下、Colab)がGoogle Drive(以下、Drive)にアクセスできるよう設定します。

from google.colab import drive
drive.mount('/content/drive')

2.動画から音声を抽出する

ここでは、FFmpegという動画や音声を変換するソフトウェアを使って、動画から音声を抽出します。

!ffmpeg -i "movie_path" -vn "output_audio"

movie_path: Drive内の動画のパス
output_audio: 音声抽出後のファイル名(なんでもよい)

3.音声からテキストを抽出する

!whisper {current_audio_path} --model medium --language Japanese -o "output_text_folder"

今回はmodelを"medium"に設定しています。精度的には本当は"large"がいいんですが、RAMの使用容量を超しちゃう可能性があるので、"medium"で我慢してます。

上記のコードで文字起こしをすると、複数のテキストファイルを出力してくれます。それらテキストファイルを入れるフォルダ名を -o の後に指定することができます。

以上、動画からテキストを抽出する方法でした。
下にコードを貼っておくので、是非使ってみてください〜

【Google Colaboratoryで動画からテキストを抽出する方法】

Discussion