Memulihkan Video Terfragmentasi Saat File Carving Menyerah

Memulihkan Video Terfragmentasi Saat File Carving Menyerah
File video kehapus dan potongannya tercecer di disk bukan berarti hilang. Carving — teknik recovery yang memindai isi disk langsung, tanpa bantuan filesystem — memang sering cuma menghasilkan file rusak di kasus begini. Potongan yang tercecer itu masih bisa disusun ulang dari isinya sendiri. Metode ini lambat dan mahal, tapi berhasil di kasus yang membuat tool standar menyerah.
Metode ini lahir dari satu kasus: flash drive berisi rekaman acara sekali seumur hidup, tak tergantikan. Filesystem-nya terlalu rusak untuk di-mount. Semua tool recovery standar mengembalikan file yang tidak bisa diputar.
Situasi seperti itu belum berarti tamat — cuma sudah di luar jangkauan tool siap pakai. Untuk sampai ke rekamannya, recovery harus diperlakukan sebagai masalah rekonstruksi, bukan ekstraksi.
Langkah pertama selalu image
Tidak ada yang menyentuh media aslinya kecuali satu tool, sekali jalan: ddrescue. Hasilnya image penuh plus map file yang mencatat persis sektor mana yang terbaca bersih. Disiplin di balik aturan itu saya bahas di image disk dulu dengan ddrescue — di sini yang penting adalah apa yang diceritakan map-nya.
Pada kasus ini, map itu jadi diagnosis pertama: pembacaan bersih, semua sektor terpulihkan di pass pertama. Satu fakta itu mengubah arah seluruh pekerjaan. Drive-nya tidak sekarat, tidak ada balapan melawan waktu di sisi hardware — masalahnya murni logis: filesystem korup plus fragmentasi.
Sejak itu drive fisiknya disimpan. Semua langkah berikutnya berjalan di atas image — salah langkah tidak ada ruginya, dan semuanya bisa diulang kapan saja.
Kenapa carving gagal di video terfragmentasi
Signature carving — pendekatan ala PhotoRec — memindai header file dan menyalin cluster secara berurutan dari tiap header sampai mentok batas ukuran atau header berikutnya. Asumsi tak tertulisnya: file itu kontigu. MP4 hasil carving cuma jadi MP4 valid kalau cluster-nya memang tersusun berurutan di disk.
Video melanggar asumsi itu lebih parah dari tipe file mana pun. File video hampir selalu file terbesar di drive konsumen. Drive yang sudah bertahun-tahun dipakai tulis-hapus ruang kosongnya terfragmentasi, jadi rekaman panjang tersebar ke sela-selanya, terselang-seling dengan foto dan apa pun yang ditaruh filesystem di sana.
Carver tetap menyalin dari header ke depan dan menghasilkan file berupa fragmen pertama disambung data yang tidak ada hubungannya. Player membukanya, men-decode sampai batas fragmen pertama, lalu macet — atau tidak mau membuka sama sekali karena indeks container-nya tidak pernah ketemu. Batas umum carving saya katalogkan di apa yang bisa dan tidak bisa dipulihkan PhotoRec; video terfragmentasi contoh paling jelas dari yang tidak bisa.
Akar masalahnya sederhana: urutan cluster tersimpan di struktur alokasi filesystem, dan struktur itu sudah hilang. Tidak ada carver yang bisa mengekstrak informasi yang sudah tidak ada. Satu-satunya salinan urutan yang tersisa bersifat implisit — di dalam isi cluster-nya sendiri — dan itulah yang direkonstruksi metode ini.
Metodenya: bangun ulang urutan dari konten
Bayangkan menyusun puzzle dari beberapa kotak yang tercampur, tanpa gambar acuan di kotaknya. Anda cuma bisa cocokkan pinggiran tiap keping, dan baru yakin gambarnya benar setelah seluruh potongan membentuk pemandangan yang masuk akal. Empat tahap metode ini bekerja dengan logika yang sama, dijalankan sebagai pipeline di atas image.
Klasifikasikan setiap cluster. Seluruh image disisir per unit alokasi, tiap cluster ditandai berdasarkan tipe konten: bitstream video, data JPEG, metadata filesystem, kosong. Pengklasifikasinya magic byte kalau ada, entropi kalau tidak, dan pemeriksaan struktur codec di antaranya — cluster berisi video H.264 bukan byte acak: sintaks NAL-unit-nya ketahuan begitu dicoba di-parse. Hasilnya peta semua cluster yang mungkin milik rekaman, dan semua cluster yang pasti bukan.
Skor kandidat sambungan. Cluster sejenis yang letaknya berurutan membentuk fragmen. Pertanyaannya jadi: fragmen mana menyusul fragmen mana. Tiap kandidat sambungan diskor dari apakah stream tetap valid saat melewatinya — state decoder berlanjut tanpa pelanggaran, timestamp dan counter di dalamnya naik wajar — plus satu petunjuk lokasi: fragmen dari file yang sama cenderung mendarat berdekatan di flash.
Scorer menyimpan beberapa kandidat sambungan teratas untuk tiap fragmen, bukan cuma satu yang terbaik. Perannya melahirkan hipotesis, bukan menjatuhkan vonis.
Rakit kandidat urutan. Fragmen dirangkai best-first menjadi kandidat file utuh: ambil sambungan terkuat yang tersedia, perpanjang, teruskan sampai rantai mencapai penanda akhir stream atau macet.
Verifikasi global, lalu unwind. Tahap inilah yang membedakan metode ini dari penyambungan asal tempel. Kandidat rakitan dinilai sebagai satu kesatuan: di-decode ujung ke ujung, lalu hasilnya dicocokkan dengan bukti independen. Thumbnail preview tertanam yang ditulis kebanyakan perangkat perekam ke dalam file-nya adalah saksi terkuat, karena preview itu kecil tapi mencakup seluruh durasi rekaman.
Rakitan yang lolos disimpan dan cluster-nya keluar dari pool. Rakitan yang gagal di-unwind: semua cluster kembali ke pool, hipotesisnya ditandai mati, dan kandidat urutan berikutnya dicoba. Ronde demi ronde berjalan sambil pool menipis, dan proses berhenti saat satu ronde tidak lagi menghasilkan rakitan baru.
Kenapa verifikasi global mengalahkan keyakinan lokal
Prinsip desain di baliknya layak dinyatakan sendiri, karena berlaku di luar recovery juga. Skor sambungan cuma melihat beberapa kilobyte di kedua sisi batas. Informasi sebanyak itu memang tidak pernah cukup. Dua fragmen dari file berbeda bisa tampak kompatibel sempurna di skala itu, dan adegan gelap atau konten datar nyaris tidak memberi sinyal sama sekali.
Menaikkan ambang lokal tidak memperbaikinya. Pipeline malah tercekik sampai tidak ada rakitan yang lolos, dan hasil akhirnya nihil.
Pendekatan yang berhasil justru kebalikannya: longgar di level lokal — cukup saring yang jelas-jelas mustahil — dan kejam di level global, tempat vonis ditopang ratusan frame bukti, bukan beberapa kilobyte. Buat unwind murah, dan tebakan lokal yang salah cuma berujung satu rakitan ditolak — tidak pernah jadi hasil yang korup.
Lalu iterasi: hipotesis, rakit, verifikasi, unwind, sampai videonya berputar ujung ke ujung dan verifier kehabisan keberatan. Kepastian per fragmen memang tidak pernah tercapai. Kepastian per file utuh bisa.
Berapa biayanya, dan kapan layak
Jujur soal biaya juga bagian dari metode ini. Sensus cluster dan skoring sambungan berarti menghitung di atas seluruh image. Loop verifikasi berjalan ronde demi ronde, dan tiap ronde tidak sebentar.
Tooling-nya sebagian custom per kasus, karena kamera, codec, dan tata letak container berbeda-beda. Ini pekerjaan berhari-hari, bukan berjam-jam, dan butuh engineer yang nyaman di jeroan codec.
Harga itu layak dibayar tepat di satu situasi: rekaman yang tidak bisa diulang, seperti acara yang cuma terjadi sekali, satu-satunya rekaman seseorang, atau materi yang punya nilai hukum. Untuk data yang tergantikan, jawabannya backup — atau merelakan.
Di semua kasus, asuransi termurahnya bukan tool, melainkan kebiasaan: begitu sadar ada data hilang, berhenti menulis ke drive — tiap penulisan baru menimpa cluster yang dibutuhkan metode ini — buat image-nya, lalu bekerja hanya di atas image.
Intinya
"Software recovery menemukan video saya tapi tidak bisa diputar" hampir selalu fragmentasi. Informasi urutannya hidup di filesystem dan mati bersamanya, jadi harus dibangun ulang dari kontennya sendiri: klasifikasi, skor, rakit, verifikasi global, unwind kalau gagal.
Pegang bukti dari file utuh, bukan keyakinan di level fragmen, dan terus iterasi sampai rekaman berputar ujung ke ujung. Lambat. Mahal. Tapi untuk rekaman yang tidak ada di tempat lain, itulah beda antara folder berisi file rusak dan rekaman yang kembali ke tangan Anda.
Artikel Terkait
Mau bangun hal serupa?
Jasa Pembuatan Sistem Manajemen Hotel
Software manajemen hotel custom ala ERP: booking, status kamar, invoice, staf, dan otomatisasi WhatsApp — dibangun sesuai cara hotel Anda bekerja.
Lihat cara saya bisa bantu