Video encoding merupakan suatu proses pengubahan format video untuk keperluan atau memenuhi spesifikasi tertentu dengan menggunakan software video encoder. Proses ini biasa disebut juga video conversion.
Proses encoding ini begitu banyak memakan resource hardware, terutama prosesor. Semakin mumpuni sebuah prosesor, tentu akan semakin cepat proses encoding dan semakin baik kualitas video hasil encoding.
Beberapa waktu yang lalu (nggak tau persisnya kapan, hhee), nVidia merilis teknologi CUDA (Computer Unified Device Architecture), yaitu teknologi parallel computing dari nVidia. Selama ini, pemrosesan hanya terpusat di prosesor (CPU) saja. Nah, teknologi CUDA memungkinkan para developer untuk merancang software yang berbasis parallel computing, dengan memanfaatkan CPU dan GPU (Graphic Processing Unit) sekaligus untuk pemrosesannya.
Kembali ke proses encoding video, tentunya akan sangat menyenangkan kalau kita bisa memanfaatkan teknologi ini untuk pekerjaan kita. Dengan menggunakan teknologi CUDA ini, performa pemrosesan bisa naik hingga 18 kali lipat.
Biasanya, saya melakukan encoding dengan menggunakan software Canopus ProCoder versi 2 atau 3. Rencananya, saya akan menggunakan kartu berbasis nVidia CUDA. Tapi saya belum tau dan masih mencari tau, apakah Canopus Procoder 3 menggunakan teknologi CUDA atau tidak. Tapi yang pasti, software TMPGEnc 4.0 Express sudah mendukung teknologi ini. Kalau nanti ternyata ProCoder 3 nggak support, ada kemungkinan kita migrasi ke TMPGEnc 4.0 Express untuk menggantikan ProCoder 3, hhee.. 😀
Mungkin masih ada yang bertanya-tanya, bagaimana sih teknologi CUDA bekerja?
Teknologi CUDA adalah salah satu teknologi parallel computing, dimana pemrosesan suatu proses dilakukan secara parallel. Dalam kasus video encoding saya, selama ini saya hanya membebani kepada CPU AMD Athlon X2 dual-core saya aja. Nah, nanti jika sudah terpasang graphic card CUDA, dan software encoding yang digunakan mendukung, maka proses encoding nanti akan ditangani secara parallel oleh CPU sekaligus GPU. Ini akan meningkatkan performa dan kualitas video hingga beberapa kali lipat.
CUDA, yang bekerja pada bahasa pemrograman C memang dirancang untuk memaksimalkan kinerja GPU untuk memecahkan kompleksitas yang terdapat pada proses kumputasi. Teknologi ini memaksimalkan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. Dengan CUDA, encoding sebuah video dapat dijalankan lebih cepat sampai 400%.
Dulu saya pernah mencoba melakukan video encoding dengan beberapa komputer sekaligus, menggunakan jaringan dengan software DebugMode FrameServer. Jadi ada beberapa komputer yang saling bahu-membahu menyelesaikan satu pekerjaan. Bisa jadi mirip seperti itulah teknologi parallel computing.