Whisper文字起こしffmpeg

https://cloudconvert.com/mp4-to-mp3

mp4-to-mp3 にしないといけなかったが、colabで、python でmp3にしてくれる

方法1

参考ページ

pip install git+https://github.com/openai/whisper.git # whisperインストール
sudo apt install ffmpeg # ffmpegインストール
# ffmpegを使い動画から音声データ抽出
ffmpeg -i test.mp4 -acodec libmp3lame -ab 256k audio.mp3
# Whisper実行
whisper audio.mp3
# Whisper実行(モデル精度変更)
whisper audio.mp3 --model medium
# 字幕動画生成
ffmpeg -i test.mp4 -vf subtitles=audio.mp3.srt test_subtitle.mp4

(英語であればbase程度でも性能高いです)

sudo apt

sudo apt install ffmpeg # ffmpegインストール


これは、なんですか?
このコマンドは、Linuxディストリビューションでffmpegというソフトウェアパッケージをインストールするためのコマンドです。ffmpegは、オーディオやビデオの変換、編集、録音などを行うことができる多機能なツールであり、コマンドラインから利用することができます。このコマンドを実行することで、ffmpegがインストールされ、ターミナルからffmpegを実行できるようになります。

なぜpipではなく、sudo aptなのですか?
pipはPythonのパッケージマネージャーで、Pythonで書かれたライブラリやアプリケーションをインストールするために使用されます。一方、sudo aptはLinuxディストリビューションにおけるパッケージマネージャーで、UbuntuやDebianなどのLinuxベースのオペレーティングシステムでシステムレベルのパッケージをインストールするために使用されます。

ffmpegは、動画や音声の処理に関連するコマンドラインツールであり、Pythonのパッケージではありません。そのため、sudo aptを使用してシステムレベルでインストールする必要があります。

また、ffmpegはPythonのライブラリとして使用することもできますが、その場合はPythonのパッケージマネージャーであるpipを使用してインストールすることができます。

ffmpegを使い動画から音声データ抽出している部分

ffmpeg -i test.mp4 -acodec libmp3lame -ab 256k audio.mp3


このコマンドは、ffmpegを使ってtest.mp4という動画ファイルから音声データを抽出します。
libmp3lameコーデックを使用して256kbpsのビットレートでaudio.mp3という名前のmp3ファイルとして保存します。
つまり、動画ファイルから音声のみを抽出することができます。

ffmpeg-pythonインストール方法

参考記事

ffmpegはPythonのライブラリとして使用することもできますが、その場合はPythonのパッケージマネージャーであるpipを使用してインストールすることができます。

これのやり方は、どうしますか?
Pythonのパッケージマネージャーであるpipを使用して、ffmpegをPythonのライブラリとしてインストールするには、以下のコマンドを実行します。

ffmpegインストール

pip install ffmpeg-python

これにより、Pythonコードでffmpegを使用することができるようになります。例えば、以下のようなPythonコードで動画ファイルから音声を抽出することができます。

pip install git+https://github.com/kkroening/ffmpeg-python

↑これは正しいですか?
はい、正しいコマンドです。これによってffmpeg-pythonというPythonライブラリをインストールできます。

末尾の .git とかいらないのですか?
すみません、先程の回答に誤りがありました。正しいコマンドは以下の通りです。

pip install git+https://github.com/kkroening/ffmpeg-python.git

末尾に .git が必要です。ご指摘ありがとうございます。

!pip install git+https://github.com/kkroening/ffmpeg-python.git

↑! も必要では?
!はGoogle Colabなどの環境でコマンドを実行する際に使う特殊な記号であり、Pythonの文法ではありません。そのため、Pythonのスクリプト内でコマンドを実行する場合を除き、!を使う必要はありません。

したがって、以下のように記述しても問題ありません。

pip install git+https://github.com/kkroening/ffmpeg-python.git
末尾の.git はどんな意味ですか?

“.git”は、Gitバージョン管理システムが使用するリポジトリの拡張子です。GitHubなどのGitホスティングプラットフォームでは、リポジトリのクローンを作成する際にこの拡張子を使用します。pipでライブラリをインストールするときには、GitHub上のリポジトリを指定することがありますが、その際には”.git”を末尾に付ける必要があります。つまり、指定するのはリポジトリのURLであり、”.git”はGitがリポジトリを認識するための拡張子です。ただし、末尾に”.git”が必須であるわけではなく、”.git”を省略して指定しても問題ありません。

動画を音源化する

import ffmpeg

stream = ffmpeg.input('test.mp4')
audio = stream.audio
audio = ffmpeg.output(audio, 'audio.mp3', acodec='libmp3lame', ab='256k')
ffmpeg.run(audio)

このコードでは、ffmpeg.input関数で入力ファイルを指定し、ffmpeg.output関数で出力ファイルを指定しています。

また、acodecパラメータで音声のエンコーダーを指定し、abパラメータでビットレートを指定しています。最後に、ffmpeg.run関数でコマンドを実行しています。