AutoCut: 字幕付きのビデオをカット
AutoCut は、ビデオの字幕を自動的に生成します。次に、保持したい文章を選択すると、AutoCut がビデオの対応するセグメントをカットして保存します。動画編集ソフトを使う必要はなく、テキストファイルを編集するだけで切り取りが完了します。
使用例
録画したビデオが2022-11-04/
この。次に実行します
autocut -d 2022-11-04
ヒント: OBS を使用して画面を記録する場合は、スペース
设置->高级->录像->文件名格式
を に/
ます%CCYY-%MM-%DD/%hh-%mm-%ss
。次に、ビデオ ファイルは、日付で名前が付けられたフォルダーに配置されます。
AutoCut は引き続き、このフォルダー内のビデオから字幕を抽出してカットします。たとえば、ビデオの録画を終了し、 に保存したとします11-28-18.mp4
。AutoCut が生成します11-28-18.md
。保持したい文章を選択すると、AutoCut がそれを切り取って生成し、11-28-18_cut.mp4
結果をプレビューします。11-28-18_cut.md
任意の Markdown エディターを使用できます。たとえば、VS Code と Typora をよく使用します。下の写真は Typora が11-28-18.md
編集した。
[外部リンクの画像転送に失敗しました。ソース サイトにはアンチリーチング メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-UmUqdopq-1681631536330)(imgs/typora.jpg)]
すべてが終わったら、autocut.md
で、AutoCut が出力しautocut_merged.mp4
、対応する字幕ファイルが出力されます。
インストール
最初に Python パッケージをインストールします
pip install git+https://github.com/mli/autocut.git
ローカル インストール テスト
git clone https://github.com/mli/autocut
cd autocut
pip install .
上記はpytorchをインストールします。GPU を実行する必要があり、デフォルトでインストールされているバージョンが一致しない場合は、最初に Pytorch をインストールできます。Whipser のインストールに問題がある場合は、公式ドキュメントを参照してください。
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
Docker のインストール
最初にプロジェクトをローカルに複製します。
git clone https://github.com/mli/autocut.git
CPU バージョンのインストール
プロジェクトのルート ディレクトリに移動し、docker イメージをビルドします。
docker build -t autocut .
次のコマンドを実行して docker コンテナーを作成し、それを直接使用します。
docker run -it --rm -v E:\autocut:/autocut/video autocut /bin/bash
その中には-v
、E:\autocut
ホスト上のビデオを保存するフォルダーを仮想マシンの/autocut/video
ディレクトリことです。E:\autocut
ホストが動画を保存するディレクトリです. ホストが動画を保存するディレクトリに変更する必要があります.
GPU版をインストール
GPU アクセラレーションを使用するには、ホストに Nvidia グラフィック カードがあり、対応するドライバーをインストールする必要があります。次に、プロジェクトのルート ディレクトリで、次のコマンドを実行して Docker イメージをビルドします。
docker build -f ./Dockerfile.cuda -t autocut-gpu .
GPU アクセラレーションを使用する場合、docker コンテナーを実行するためにパラメーターを追加する必要があります--gpus all
。
docker run --gpus all -it --rm -v E:\autocut:/autocut/video autocut-gpu
その他の使用オプション
ビデオを書き起こし、生成し.srt
て.md
結果を出します。
autocut -t 22-52-00.mp4
-
文字起こしの品質に満足できない場合は、より大きなモデルを使用できます。
autocut -t 22-52-00.mp4 --whisper-model large
デフォルトは です
small
。より良いモデルはmedium
と ですlarge
が、高速化のために GPU をお勧めします。より高速tiny
でbase
が、文字起こしの品質は低下します。
ビデオをカット
autocut -c 22-52-00.mp4 22-52-00.srt 22-52-00.md
-
デフォルトのビデオ ビットレートは です
--bitrate 10m
。必要に応じて増減できます。 -
Markdown 形式のファイルに慣れていない場合は、不要な文を
srt
ファイル内、md
カット時にファイル名を渡さないようにすることもできます。あれはautocut -c 22-52-00.mp4 22-52-00.srt
-
srt
ファイルしかなくて編集が不便な場合は、次のコマンドでmd
ファイルを生成してから、md
ファイルをもできますが、このときは に従って完全にsrt
生成され、no speech
などの .autocut -m test.srt test.mp4 autocut -m test.mp4 test.srt # 支持视频和字幕乱序传入 autocut -m test.srt # 也可以只传入字幕文件
いくつかのヒント
- Whisper のトレーニング データの配布により、流暢な動画の書き起こしはより高品質になります。動画の場合は、まず文章を大まかに選択して、カットした動画で再度カットすることができます。
最終的なビデオから生成された字幕には、多くの場合、多少の編集が必要です。md
ファイルを直接編集できます(srt
ファイルよりもコンパクトで、ビデオが埋め込まれています)。次に、更新された字幕を生成するautocut -s 22-52-00.md 22-52-00.srt
ために22-52-00_edited.srt
。文が選択されているかどうかはここでは無視されますが、すべて に変換されることに注意してくださいsrt
。- 最終的なビデオから生成された字幕には、多くの場合、多少の編集が必要です。しかし、
srt
中に。を使用してautocut -s 22-52-00.srt
、22-52-00_compact.srt
簡単に編集できるようにコンパクト バージョンを生成できます (この形式は合法ではありませんが、VS Code などのエディターは引き続き構文の強調表示を実行します)。編集が完了したら、autocut -s 22-52-00_compact.srt
通常のフォーマットに戻します。 - Typora と VS Code で Markdown を編集するのは非常に便利です。それらにはすべて、1 つまたは複数の行をマークするための対応するショートカット キーがあります。しかし、VS Code のビデオ プレビューに問題があるようです。
- ビデオは ffmpeg 経由でエクスポートされます。Apple M1 チップでは GPU を使用できないため、プロのビデオ ソフトウェアよりもエクスポートが遅くなります。
よくある問題
-
出力が文字化け?
AutoCut のデフォルトの出力エンコーディングは です
utf-8
。エディタもutf-8
エンコーディングを。を介して他のエンコード形式--encoding
を指定。ただし、字幕ファイルを生成するときと字幕ファイル編集を使用するときのエンコード形式は一貫している必要があることに注意してください。たとえば、 を使用しますgbk
。autocut -t test.mp4 --encoding=gbk autocut -c test.mp4 test.srt test.md --encoding=gbk
他のエンコード形式(
gbk
などmd
ファイルを生成し、Typoraで開いた場合、そのファイルはTyporaによって自動的に他のエンコード形式にトランスコードされる場合があります.このとき、生成時に指定したエンコード形式で編集すると、 、エンコードがサポートされていない可能性があります。エラーが発生するのを待ちます。そのため、Typoraで編集した後、VSCodeで必要なエンコード形式に変更して保存し、編集機能を利用することができます。 -
GPU を使用して転写する方法は?
Nvidia GPU があり、対応するバージョンの PyTorch がインストールされている場合、転写は GPU で行われます。コマンドを使用して、GPU が現在サポートされているかどうかを確認できます。
python -c "import torch; print(torch.cuda.is_available())"
それ以外の場合は、AutoCut をインストールする前に、対応する GPU バージョンの PyTorch を手動でインストールできます。
-
GPU を使用すると、ビデオ メモリが不足しているというエラーが報告されます。
ウィスパーの大規模モデルには、一定量の GPU メモリが必要です。十分なビデオ メモリがない場合は、より小さいモデルを使用できます
small
。それでも大きなモデルを使用したい場合は、 で CPU 使用率--device
を。例えばautocut -t 11-28-18.mp4 --whisper-model large --device cpu
-
pip
インストールできますか?AutoCut の依存ウィスパーは PyPI で公開されていないため、現時点では
pip install git+https://github.com/mli/autocut.git
この。必要な学生は、whisper パッケージへの依存を取り除くために、huggingface ハブから whisper モデルを直接ダウンロードできるかどうかを確認できます。
プロジェクトのアドレス: https://github.com/mli/autocut/blob/main/README.md