【FFmpeg】録画ファイルを音声だけにしてファイルサイズを下げる方法

文字起こし

前回の記事

Whisperで音声解析するためには録画ファイルを25MB以下にしなければなりません。
今回は25MB以下にするべく、ファイルの編集をしていきます。
25MB以下にすることができれば、全文の文字起こしができるようになるはずです。
そもそも文字起こしが目的なので映像は不要でした。。。
早速やっていきます。
今回の実行環境はwindowsです。

FFmpegの準備

録画ファイルの変換を行うため、「FFmpeg」というオープンソースを使用します。このツールを使えばコマンドで簡単に録画ファイルの操作を行うことができます。
ダウンロードして使えるようにするまでを説明します。

ダウンロード

FFmpegの公式サイトにアクセスし、Downloadをクリックします。

次にwindowsロゴをクリックし、「windows builds by BtbN」をクリックします。

開いたサイトの「ffmpeg-master-latest-win64-gpl-shared.zip」をダウンロードします。

インストール

ダウンロードしたzipファイルを好きな場所で構いませんので解凍します。
解凍したフォルダの中からbinフォルダを開きます。
binフォルダのパスをコピーします。
C\Users\xxx\Downloads\ffmpeg-master-latest-win64-gpl-shared\bin
※xxxはユーザー名

コピーしたパスを環境変数に追加します。
システムの詳細設定→詳細設定→環境変数(N)→ユーザー環境変数のPathを選択→編集→新規の順にクリックします。
先ほどコピーしたバスを張り付けてOKをクリックします。

これでインストールは完了です。
インストールできたかをチェックするためにコマンドプロンプトで以下のコマンドを実行してください。

ffmpeg -version

上記のように実行できれば大丈夫です。

mp4ファイルから音声のみを抽出する

wavファイルに変換

今回はユーザーフォルダの中に「convert」というフォルダを作成し、その中で実行しました。
変換する録画ファイルもそこに格納してください。
mp4をwavファイルに変換するコマンドは以下の通りです。

ffmpeg -i sample.mp4 output.wav

実行すると「output.wav」が作成されます。

これだけで25MB以下になれば問題ないのですが、私の場合は58MBまでしか下がりませんでした。
なので、さらなるファイルサイズを圧縮が必要です。

サンプルレートの変更

ファイルサイズを下げるにはサンプルレートを変更します。
以下のコマンドを実行してください。

ffmpeg -i output.wav -ar 6500 convert.wav

実行すると「convert.wav」が作成されます。

サイズを23MBまで圧縮することができました。
6500の部分を変更することで、ファイルサイズの調整ができるので、目標のファイルサイズがある方は調整して実行してみてください。

文字起こししてみました

圧縮したファイルを使用し、Whisperで文字起こしをしてみました。
結果としては23MBのファイルで18分18MBのファイルで26分という結果となりました。
元は31分の音声なので、すべて書き出すことはできませんでした。
理由としては25MB以下だとしてもまだ大きいのか、Colabの無料版なのでGPUが足りていないのか、、
原因ははっきりしませんが、今度はサンプルレートを下げるのではなく、ファイルを分割してみようと思います。
サンプルレートを下げたせいで音質が低下し、Whisperの解析結果の精度も悪くなった気がします。
圧縮して結果が悪くなっては本末転倒ですからね。

次回はファイルを分割しWhisperで解析した結果を紹介します。
最後までお読みいただきありがとうございました。

コメント