FFmpeg kompres
contoh command :
ffmpeg -y -i "/storage/emulated/0/Movies/Untitled.mp4" -s 1280x720 -c:v libx264 -q:v 5 -crf 34 -filter:v fps=fps=60 -c:a aac -ab 128k -ar 44100 -vol 80 "/storage/emulated/0/FFmpeg/Encoded.mp4"
penjelasan :
ffmpeg adalah command utama, wajib ada
- -y perintah untuk menimpa file, karena nama file sudah ada
- -i perintah input, diikuti Path file nya yang dikurung dengan tanda petik x2, "/a/b/c.mp4"
- -s perintah untuk scaling/resize, diikuti dengan width x height, pastikan rasio/perbandingannya tepat
- -c perintah untuk menentukan encoder, contoh encoder :
libx264(.h264) / Standard
libx265(.h265) / HEVC (High Efficiency Video Encoder)
dan encoder video lainnya
:v menentukan target stream, v berarti video,
contoh -c:v
- -q:v digunakan untuk menentukan skala kualitas video, diikuti angka parameter nya, angka 5 adalah standar
- -crf digunakan untuk menentukan skala bitrate video (dinamis, berubah-ubah), diikuti angka parameter nya, semakil kecil angkanya, semakin tinggi kemungkinan bitrate yang dihasilkan,
0-23, size video bakal berat banget, kualitas tinggi
23, standar video .H264
23-28, size nya lumayan enteng, masih worth untuk kompres video dokumentasi agar size nya gak terlalu berat
28-34, size nya enteng disini, cocok untuk video yang akan diunggah ke media sosial, karena size nya yang lebih ringan tapi tidak terlalu burik, yaa itung" an buat hemat kuota juga
35+, lumayan burik sih tapi kalo buat sekedar upload di story(media jangka pendek, sekilas), size jauh lebih ringan
untuk mengatur bitrate yang statis (tetap), bisa menghilangkan perintah -crf, kemudian menggantinya dengan -b:v, diikuti dengan besaran bitrate nya
contoh :
-b:v 500k
bitrate video statis di sekitaran 500kbps
*tetapi lebih disarankan untuk menggunakan -crf saja untuk hasil yang paling konsisten
- -filter digunakan untuk menambahkan fungsi tertentu seperti filter, diikuti nama filter yang akan digunakan
contoh beberapa filter :
fps=fps=xx / fps=xx untuk mengatur FPS video, xx menunjukkan besaran FPS
crop=width:height:x:y untuk memotong pixel dengan ukuran tertentu, x dan y diukur dari sudut kiri-atas
dan lain-lain = https://ffmpeg.org/ffmpeg-filters.html
- -c seperti yang dijelaskan tadi, untuk menentukan codec
:a menentukan target stream, terget yaitu audio
diikuti nama codec audio, seperti aac
- -ab menentukan bitrate audio, diikuti dengan besaran bit
contoh :
-ab 196k
- -ar menentukan audio sampling rate,
contoh :
-ar 44100
berarti sampling rate nya 44100hz atau 44.1Khz (standar)
- -vol untuk menentukan tingkat volume audio, range nya 0-256 kalo gak salah
terakhir, untuk menentukan output nya
pastikan folder tujuan tersedia,
dikurung oleh tanda petik x2
"/a/b/abc.mp4