Casually Mux

Mux Casually

Sedikit Pengalaman dengan Decoder H.264/AVC

leave a comment »

Beberapa waktu lalu saya melakukan installasi K-Lite Codec Pack setelah melakukan installasi windows XP di suatu laptop. Selain K-Lite saya juga menginstall CoreAVC codec untuk decoding h264. Awalnya decoder default untuk h264 adalah CoreAVC. Kemudian saya menemukan error pada waktu windows explorer membuka folder dengan file video dengan kompresi AVC, dalam kontainer MP4 dan MKV. Saya pikir ada yang salah dengan source filter/splitter, namun setelah saya ganti filter default untuk MP4 dan Matroska, error itu tetap ada. Setelah saya utak-atik sedikit, akhirnya saya menemukan apa yang menyebabkan error.Error itu ternyata disebabkan oleh CoreAVC, yang memang diketahui menyebabkan windows explorer mengalami crash apabila menampilkan thumbnail video h264. Maka setelah deactivate CoreAVC dan mengganti decoder default untuk h264 menjadi ffdshow, maka tidak lagi terjadi crash. Namun kemudian terjadi sedikit komplikasi, ada satu file video h264 yang tidak bisa di-play.

Saya coba menganalisa dengan menggunakan GSpot Codec Information, tidak ditemukan decoder yang pas untuk video tersebut. Artinya, tidak ada decoder yang diaktifkan untuk mengatasi kompresi videonya, meskipun seumpama sudah terinstall pun. Kemudian saya coba analisa dengan GraphStudio, ternyata memang benar, codec video yang aktif saat itu, DXVA-nya ffdshow, tidak bisa dijalinkan dengan output dari source filter/splitter file itu. Saya coba dengan CoreAVC, ternyata bisa. Setelah saya periksa, ternyata memang kompresi video tersebut adalah h264, dengan fourcc AVC1.

Saya berkesimpulan bahwa tidak semua konfigurasi encoding format h264 di-support oleh DXVA-nya ffdshow. Terbukti setelah saya aktifkan dekompresi h264 oleh ffdshow non-DXVA ke libavcodec, video tersebut bisa diputar. Selain itu saya mendapatkan thumbnail video di explorer yang tadinya tidak nampak, jadi nampak kembali. Ternyata DXVA ffdshow tidak bisa menampilkan thumbnail, karena memang proses dekompresi gambar DXVA banyak dilakukan oleh video card.

Salah satu fitur lain dari DXVA adalah harus langsung terkoneksi ke video renderer, dan tidak bisa melalui filter lain seperti DirectVobSub. Artinya kita tidak bisa mendapatkan subtitle yang biasanya ditangani oleh filter tersebut. Alternatifnya adalah dengan menggunakan fasilitas subtitle yang dimiliki oleh player. Media Player Classic (MPC) memiliki fasilitas ini, dengan syarat kita harus menggunakan video renderer yang support subtitle. Alternatif lainnya adalah dengan menggunakan fitur ffdshow. Caranya dengan mengaktifkan post processing ke surface overlay di menu hardware acceleration di properties ffdshow DXVA. Setelah itu kita bisa mengaktifkan fitur Subtitle.

Konfigurasi decoder system saat ini setelah saya utak-atik adalah ffdshow-DXVA sebagai decoder default dengan ffdshow-libavcodec untuk menangani konfigurasi kompresi yang tidak bisa ditangani DXVA.

Sedikit tambahan yang berhubungan dengan h264, beberapa hari lalu seorang teman menanyakan tentang MPC yang tidak bisa memutar file FLV yang diunduh dari situs youtube. Setelah saya analisa, ternyata splitter dan codec yang terinstall di komputer dia sudah lumayan outdated. FYI, sejak kira-kira 2-3 tahun yang lalu youtube mulai menggunakan AVC (h264) untuk kompresi video dan AAC untuk kompresi audio. Filter yang terinstall belum bisa menangani AVC dan AAC dalam FLV. Setelah dia meng-update splitter dan codec-nya, file FLV bisa diputar dengan lancar.

Advertisement

Written by Sagippio

28 October 2010 at 11:06

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.