Bagaimana saya bisa menggunakan ffmpeg
untuk mengurangi ukuran video dengan menurunkan kualitasnya (seminimal mungkin, tentu saja, karena saya memerlukannya untuk dijalankan di perangkat seluler yang tidak memiliki banyak ruang yang tersedia)?
Saya lupa menyebutkan bahwa ketika video dapat menggunakan subtitle (*.srt atau *.sub), saya juga ingin mengonversinya agar sesuai dengan parameter file video yang dikonversi.
Jawaban yang Diterima:
Jawaban ini ditulis pada tahun 2009. Sejak tahun 2013, format video yang jauh lebih baik daripada H.264 tersedia secara luas, yaitu H.265 (lebih baik dalam hal kompres lebih banyak untuk kualitas yang sama, atau memberikan kualitas yang lebih tinggi untuk ukuran yang sama). Untuk menggunakannya, ganti codec libx264 dengan libx265, dan tekan tuas kompresi lebih jauh dengan meningkatkan nilai CRF — tambahkan, katakanlah, 4 atau 6, karena kisaran yang wajar untuk H.265 mungkin 24 hingga 30. Perhatikan bahwa lebih rendah Nilai CRF sesuai dengan lebih tinggi bitrate, dan karenanya menghasilkan lebih tinggi video berkualitas.
ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
Untuk melihat teknik ini diterapkan menggunakan format H.264, lihat jawaban ini, dikutip di bawah untuk kemudahan:
Hitung bitrate yang Anda butuhkan dengan membagi ukuran target Anda (dalam bit) dengan panjang video (dalam detik). Misalnya untuk ukuran target 1GB (satu gigabyte , yaitu 8 gigabit ) dan video 10000 detik (2h46min 40s), gunakan bitrate 800000 bit/dtk (800kbit/dtk):
ffmpeg -i input.mp4 -b 800k output.mp4
Opsi tambahan yang mungkin layak dipertimbangkan adalah mengatur Constant Rate Factor, yang menurunkan bit rate rata-rata, tetapi mempertahankan kualitas yang lebih baik. Variasikan CRF antara sekitar 18 dan 24 — semakin rendah, semakin tinggi bitrate.
ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4