Skip to content
LocalMedia Tools

Cara kerja pemrosesan media di browser yang sebenarnya

Selama bertahun-tahun, menyunting video atau mengonversi gambar secara daring berarti mengunggah file Anda ke server orang lain, menunggu, lalu mengunduh hasilnya. Browser modern tidak lagi menuntut konsekuensi tersebut. Berkat sekumpulan API platform web yang semakin matang, sebuah halaman web kini dapat mendekode, mengubah, dan menyandikan ulang media langsung di komputer Anda — komputer yang sama yang sedang membaca halaman ini. Panduan ini menjelaskan, dengan bahasa sederhana, teknologi yang memungkinkannya serta bagaimana Anda dapat memverifikasi sendiri bahwa file Anda tetap lokal.

Apa sebenarnya arti "pemrosesan media di browser"?

Ketika sebuah situs web memproses media di browser, pekerjaan berjalan di dalam mesin ber-sandbox yang sama yang merender halaman, menggunakan API yang sudah disertakan browser Anda. File Anda dibaca dari disk ke memori di perangkat Anda sendiri, diubah di sana, lalu ditulis kembali sebagai unduhan — tanpa perjalanan bolak-balik server untuk file itu sendiri. Halaman tetap memuat kode dan asetnya sendiri melalui jaringan, tetapi video, audio, gambar, atau PDF Anda tidak pernah meninggalkan komputer Anda.

Bagaimana WebAssembly menjalankan codec video pada kecepatan mendekati native?

WebAssembly (WASM) adalah format instruksi biner yang ringkas yang dijalankan browser pada kecepatan mendekati native. Pustaka matang yang ditulis dalam C atau C++ — seperti FFmpeg untuk video atau sebuah penyandi gambar — dikompilasi menjadi WASM dan dikirim sebagai modul yang diunduh halaman satu kali. Inilah yang dimaksud orang dengan video WASM sisi klien: matematika pendekodean dan penyandian yang sama seperti yang dilakukan aplikasi desktop, dijalankan di dalam sandbox browser pada CPU Anda sendiri. Karena WASM aman-memori dan ber-sandbox, WASM dapat mengolah file berukuran besar tanpa memperoleh akses ke seluruh bagian lain dari sistem Anda.

Apa itu WebCodecs, dan mengapa bisa lebih cepat daripada WASM saja?

WebCodecs adalah API browser yang lebih baru yang mengekspos codec audio dan video bawaan perangkat — yang sering kali dipercepat perangkat keras — langsung ke JavaScript. Alih-alih mengirim codec sebagai WASM, halaman menyerahkan frame mentah ke penyandi atau pendekode yang sudah disediakan sistem operasi, yang bisa jauh lebih cepat dan lebih hemat baterai. Dukungan masih bervariasi menurut browser dan format, sehingga alat yang dibuat dengan baik menggunakan WebCodecs saat tersedia dan beralih ke build WASM jika tidak. Bagaimanapun, media yang sebenarnya tetap berada di perangkat Anda.

Bagaimana Canvas API dan perenderan PDF menangani gambar?

Canvas API memberi JavaScript sebuah permukaan piksel yang dapat digambari. Untuk mengubah ukuran, memotong, memutar, memberi tanda air, atau mengonversi sebuah gambar, alat menggambarnya pada kanvas di luar layar, memanipulasi pikselnya, dan membaca hasilnya kembali sebagai JPG, PNG, atau WebP yang baru. Permukaan yang sama itulah yang digunakan untuk meraster halaman PDF menjadi gambar dan untuk menangkap satu frame video sebagai gambar diam. Semuanya merupakan matematika piksel langsung di komputer Anda, tanpa ada yang diunggah.

Bagaimana Web Audio API memproses suara secara lokal?

Web Audio API adalah sebuah graf berisi simpul audio yang saling terhubung — sumber, filter, penguatan, dan penganalisis — yang memungkinkan halaman mendekode, memangkas, mengambil sampel ulang, dan menyandikan ulang suara di dalam memori. Memangkas sebuah klip atau mengekstrak trek audio dari sebuah video berjalan sepenuhnya melalui graf ini di perangkat Anda. Dipadukan dengan penyandi WASM, graf ini dapat menuliskan MP3, WAV, atau format lain tanpa rekaman Anda pernah menyentuh server.

Apa yang ditambahkan MediaRecorder dan Web Workers?

MediaRecorder menangkap aliran langsung — layar, kamera, atau mikrofon Anda — dan menyandikannya menjadi file yang dapat diunduh saat merekam, yang persis seperti cara kerja perekam layar di browser. Web Workers menjalankan pekerjaan berat pada utas latar belakang sehingga penyandian atau transcoding tidak membekukan halaman, menjaga tab tetap responsif saat ekspor yang panjang diselesaikan. Bersama-sama, API ini memungkinkan browser berperilaku seperti workstation media lokal yang kecil.

Bagaimana saya dapat membuktikan bahwa file saya tidak pernah meninggalkan perangkat saya?

Buka alat pengembang browser Anda, beralih ke tab Network, lalu proses sebuah file — Anda akan melihat kode dan aset milik halaman dimuat, tetapi tidak ada permintaan yang mengunggah media Anda. Satu pengecualian yang disengaja adalah Transkripsi Audio, yang mengunduh model pengenalan ucapan satu kali saat pertama kali digunakan dan menyimpannya dalam cache, sehingga transkripsi berikutnya dapat berjalan offline; unduhan itu adalah model AI itu sendiri, bukan audio Anda. Ini adalah klaim yang dapat diuji-salahkan yang dapat Anda periksa sendiri, yang justru merupakan alasan mengapa alat yang mengutamakan privasi dibangun dengan cara ini.

Alat terkait

FAQ

Apakah pemrosesan di browser berarti file saya tidak pernah diunggah?
Ya — file media Anda dibaca dan diubah di dalam memori pada perangkat Anda sendiri lalu ditawarkan kembali sebagai unduhan, sehingga tidak pernah dikirim ke server. Halaman itu sendiri tetap memuat kode dan asetnya melalui jaringan, yang lumrah bagi situs web mana pun; perbedaannya adalah file Anda bukan bagian dari lalu lintas tersebut. Anda dapat memastikannya di tab Network pada alat pengembang browser Anda.
Apakah video WASM sisi klien sama baiknya dengan aplikasi desktop?
Untuk sebagian besar konversi, kompresi, dan pemangkasan, alat ini menggunakan pustaka dasar yang sama (seperti FFmpeg) yang diandalkan aplikasi desktop, sehingga kualitas keluarannya setara. Perbedaan utamanya adalah kecepatan dan memori: sebuah tab browser memiliki ruang gerak lebih sedikit daripada aplikasi native, sehingga file yang sangat besar atau sangat panjang diproses lebih lambat. Alat yang juga mendukung WebCodecs dapat memanfaatkan akselerasi perangkat keras untuk menutup sebagian besar selisih tersebut.
Mengapa Transkripsi Audio perlu mengunduh sesuatu?
Pengenalan ucapan membutuhkan model AI, dan model tersebut diunduh satu kali ke browser Anda saat pertama kali digunakan lalu disimpan dalam cache. Sejak saat itu, transkripsi berjalan secara lokal dan bahkan dapat berfungsi offline. Yang diunduh adalah bobot model — rekaman audio Anda tetap tidak pernah diunggah.
Apakah alat-alat ini berfungsi offline?
Setelah halaman dan modul apa pun yang diperlukan telah dimuat, sebagian besar pemrosesan berjalan tanpa koneksi internet karena komputasi terjadi di perangkat Anda. Transkripsi Audio berfungsi offline setelah modelnya diambil dan disimpan dalam cache. Kunjungan baru atau cache yang telah dikosongkan akan kembali membutuhkan jaringan untuk memuat aset halaman.
Apakah browser saya cukup bertenaga untuk file media berukuran besar?
Browser modern dapat menangani file yang mengejutkan besarnya, tetapi berjalan dalam batas memori, sehingga video yang sangat besar mungkin diproses lambat atau perlu dipecah. Menggunakan browser desktop dengan RAM lebih besar, menutup tab berat lainnya, dan mengutamakan alat yang menggunakan WebCodecs semuanya membantu. Jika sebuah file terlalu besar untuk diproses sekaligus, memangkasnya terlebih dahulu merupakan solusi praktis.