Apa itu NVENC
Hardware accelerated encoding mulai menjadi tren di kalangan produsen hardware komputer di era 2010an. Intel misalnya, mulai melengkapi processor keluaran mereka dengan teknologi yang disebut Intel Quick Sync Video sejak generasi Sandy Bridge. AMD juga menciptakan teknologi serupa dengan nama Video Coding Engine (VCE), mulai generasi Radeon HD 7900. Sementara NVIDIA memperkenalkan teknologi NVIDIA Encoder (NVENC) sejak GeForce seri 600 generasi Kepler. Sumber gimbot.com
Yang akan dibahas disini adalah menggunakan ffmpeg untuk encode video dengan hardware accelerated yaitu NVENC, sebelum kita lanjut ke tutorial nya kita tidak bisa menggunakan NVENC dengan ffmpeg versi biasanya, tapi harus menggunakan ffmpeg yang support ffmpeg, untuk cek ffmpeg support codec NVENC kita bisa ketikan peritah ffmpeg
di terminal dan lihat output nya, jika ada --enable-nvenc
berarti ffmpeg kalian bisa menggunakan NVENC dalam encode videonya.
Pastikan juga driver NVIDIA kalian sudah versi paling terbaru, minimal versi 450 atau yang lebih tinggi, untuk cek versi driver NVIDIA kalian bisa menggunakan perintah nvidia-smi
di terminal dan lihat Driver Version
-nya, jika yang muncul Driver Version: 460.32.03
berarti kalian menggunakan driver versi 460.
Mulai Encoding
Setelah kalian memenuhi persyaratan diatas, kita lansung ke tutorial encoding nya.
- Kita lihat terlebih dahulu bitrate video yang akan kita compress, disini bitrate videonya yaitu
2.830
kb/s dengan resolusi 720p dan ukurannya 1.59 GiB, untuk memperkecil ukuran video nya kita ubah bitrate nya, disini saya ubah menjadi 1024 kb/s atau 1M, atau menjadi lebih kecil dari bitrate asalnya, perintah yang saya gunakan yaitu seperti ini.
|
|
-c:v h264_cuvid
decoder yang digunakan-i demoVideo.mp4
video yang akan kita kecilkan ukurannya-c:v h264_nvenc
encoder yang digunakan-preset slow
encoding menjadi lama tapi kualitas lebih baik dan ukurannya juga menjadi lebih kecil-b:v 1M -minrate 1M -maxrate 1M -bufsize 1M
strict setting bitrate menjadi 1M atau 1024 kb/s-profile:v high
Untuk kualitas dan ukuran file terbaik tetapi menggunakan resource GPU yang banyak dalam decode dan encode-c:a aac -b:a 128k
mengubah codec audio menjadi aac dan bitrate audio menjadi 128 kb/s-cq:v 18
fungsi -cq ini untuk mengatur kualias video 0
otomatis 18-23
rekomendasi 51
paling burukdemoVideoOuyt-720p.mp4
nama file yang sudah di encoding
- Tunggu sampai proses encoding selesai, biasanya aka memakan banyak waktu, tergantung durasi video nya juga.
- Jika terdapat error seperti ini bisa diabaikan saja, saya juga tidak tau penyebabnya apa, tapi video tidak corrupt dan juga tidak ada masalah dengan audionya.
- Ini perbedaan ukuran video asli dengan hasil encoding mengunakan NVENC
|