Pengalaman saya dalam mengembangkan fitur di ekstensi NetMeter Web, khususnya dalam melacak konsumsi bandwidth video streaming di platform seperti Twitch dan YouTube, memiliki tantangan tersendiri. Mayoritas website video streaming menggunakan HLS (HTTP Live Streaming) atau DASH, yang tidak menyertakan contentLength dalam respons HTTP. Oleh karena itu, saya harus menemukan cara yang tepat untuk memantau bandwidth di platform-platform tersebut.
Twitch, misalnya, menggunakan AWS IVS Player yang tidak bisa di-patch dengan metode biasa seperti di platform lain. Hasil eksplorasi saya menunjukkan bahwa Chromium dan turunannya memerlukan pendekatan berbeda dalam melakukan patching, sedangkan browser lain seperti Firefox tetap dapat di-patch dengan normal.
Selain itu, IVS Player menggunakan WebAssembly (WASM) untuk memproses data video, yang mempersulit proses monitoring bandwidth. Namun, dengan melakukan patching pada Web Worker, saya berhasil menyelesaikan masalah tersebut. Proses patching pada konstruktor Worker dan self.fetch memang rumit, namun hasilnya sangat memuaskan.
Dengan melewati perjuangan yang penuh drama, akhirnya saya berhasil memecahkan masalah yang dihadapi dan mendapatkan ilmu berharga dari pengalaman tersebut. Terima kasih kepada Twitch atas tantangan yang tidak terduga hari ini.


