Ffmpeg: extract text Indonesia dari mp4
Cara paling mudah dan gratis adalah memakai **OpenAI Whisper secara lokal**. Whisper mendukung Bahasa Indonesia, dapat membaca video secara langsung, serta menghasilkan teks biasa dan subtitle.
- Cara paling singkat di Ubuntu
- 1. Instal FFmpeg dan Python
```bash sudo apt update sudo apt install -y ffmpeg python3-pip python3-venv ```
- 2. Buat lingkungan Python
```bash python3 -m venv whisper-env source whisper-env/bin/activate pip install -U pip pip install -U openai-whisper ```
Whisper memang membutuhkan FFmpeg untuk membaca audio atau video. [Dokumentasi resmi Whisper](https://github.com/openai/whisper)
- 3. Transkripsikan video Bahasa Indonesia
Misalnya nama videonya `rekaman.mp4`:
```bash whisper rekaman.mp4 \
--model medium \ --language Indonesian \ --task transcribe \ --output_format all \ --output_dir hasil
```
Hasilnya berada di folder `hasil/`:
- `rekaman.txt` — teks biasa
- `rekaman.srt` — subtitle untuk video
- `rekaman.vtt` — subtitle web
- `rekaman.tsv` — teks dan waktu dalam tabel
- `rekaman.json` — data lengkap untuk diproses program
- Pemilihan model
| Model | Kebutuhan | Keterangan | | -------- | ----------: | ------------------------------------ | | `small` | ±2 GB VRAM | Cepat, akurasi cukup | | `medium` | ±5 GB VRAM | Pilihan bagus untuk Bahasa Indonesia | | `turbo` | ±6 GB VRAM | Sangat cepat dan cukup akurat | | `large` | ±10 GB VRAM | Paling berat |
Untuk RTX 4060 8 GB, saya sarankan:
```bash whisper rekaman.mp4 \
--model turbo \ --language Indonesian \ --task transcribe \ --output_format all \ --output_dir hasil
```
Jika GPU tidak tersedia, Whisper tetap berjalan menggunakan CPU, tetapi lebih lambat:
```bash whisper rekaman.mp4 \
--model small \ --language Indonesian \ --device cpu \ --output_format all
```
- Jika ingin mengekstrak audio dahulu
Tidak wajib, tetapi dapat membantu jika file video sangat besar:
```bash ffmpeg -i rekaman.mp4 \
-map 0:a:0 \ -ac 1 \ -ar 16000 \ audio.wav
```
Kemudian:
```bash whisper audio.wav \
--model medium \ --language Indonesian \ --task transcribe \ --output_format all \ --output_dir hasil
```
FFmpeg mendukung konversi audio dari berbagai format video. [Dokumentasi resmi FFmpeg](https://ffmpeg.org/ffmpeg.html)
- Untuk banyak video sekaligus
```bash mkdir -p hasil
for video in *.mp4; do
whisper "$video" \ --model turbo \ --language Indonesian \ --task transcribe \ --output_format all \ --output_dir hasil
done ```
Catatan: Whisper menghasilkan transkripsi, tetapi belum otomatis membedakan “Pembicara 1”, “Pembicara 2”, dan seterusnya. Untuk pemisahan pembicara diperlukan proses tambahan bernama **speaker diarization**, misalnya menggunakan WhisperX dan pyannote.