AskClean

Sửa video bị hỏng ngay trong trình duyệt

Quét video MP4 hoặc MOV bị lỗi để tìm khung hình hỏng, xem chính xác chỗ hỏng và xuất bản sao đã sửa phát được. Chạy hoàn toàn trên thiết bị — tệp không rời khỏi máy.

Trang này thực sự kiểm tra những gì

Chọn một video, trang này sẽ đọc toàn bộ luồng dữ liệu để tìm những khung hình có dữ liệu bị hỏng, rồi chỉ cho bạn vị trí của chúng trên dòng thời gian. Khi sửa, công cụ ghi ra một tệp mới chỉ chứa những khung hình giải mã được, nên kết quả phát trơn tru, không bị khựng. Mọi thứ chạy trên thiết bị của bạn — không có gì được tải lên.

Bên trong tệp MP4 hoặc MOV, mỗi khung hình H.264 hoặc HEVC được lưu thành một chuỗi: một con số độ dài, tiếp theo là đúng chừng ấy byte dữ liệu hình ảnh, rồi đến con số độ dài kế tiếp, cứ thế cho đến hết dữ liệu của khung hình. Chuỗi đó phải kết thúc khớp đúng ở điểm cuối. Nếu một con số độ dài bằng 0, hoặc trỏ vượt quá chỗ dữ liệu kết thúc, thì các byte của khung hình đó không đúng như tệp tự khai.

Sau khi kiểm tra độ dài các gói dữ liệu, công cụ giải mã từng nhóm khung hình. Nếu giải mã thất bại, cả nhóm bị loại và việc kiểm tra tiếp tục từ khung hình chính kế tiếp; dòng thời gian đánh dấu cả nhóm bị ảnh hưởng, vì có thể không xác định được chính xác khung hình nào bị lỗi.

Nếu bạn từng chạy một video hỏng qua ffmpeg và thấy dòng Invalid NAL unit size (0 > 1241) chạy qua màn hình, thì đó chính là tình trạng này đang được báo. Trình phát thường phản ứng bằng cách khựng lại, nhảy cóc hoặc hiện ra một mảng vỡ khối nhòe nhoẹt — vì đó là tất cả những gì chúng làm được với những byte không tồn tại.

Việc kiểm chứng cần có bộ giải mã cho codec của video. Trình duyệt nào không giải mã được video thì cũng không thể kiểm chứng bản sao đã sửa.

Hai kiểu hỏng, và chúng trông khác nhau

Khung hình có dữ liệu bị hỏng. Có thứ gì đó đã ghi sai byte — chép sang USB bị gián đoạn, thẻ nhớ sắp hỏng, đồng bộ bị ngắt giữa chừng. Độ dài và chỉ mục của tệp vẫn nguyên vẹn và video vẫn mở bình thường, nhưng một số khung hình bên trong không dùng được. Trên dòng thời gian, chúng hiện thành các vạch rải rác ở những chỗ bị hỏng.

Video bị cụt. Quá trình tải xuống hoặc truyền tệp dừng sớm. Phần đầu tệp vẫn khai độ dài ban đầu, nên trình phát hiển thị thanh tua đủ độ dài, nhưng dữ liệu hình ảnh thì kết thúc giữa chừng. Trang này phát hiện điều đó bằng cách so độ dài tệp tự khai với khung hình cuối cùng thực sự đọc tới được — trên dòng thời gian, đó là một khối màu xám ở cuối.

Nên phân biệt hai kiểu này vì kỳ vọng với mỗi kiểu rất khác nhau. Hỏng rải rác thường chỉ làm bạn mất một giây chỗ này, một giây chỗ kia. Còn một tệp bị cụt ở mốc 40% thì thiếu 60% video, và không công cụ nào có thể tạo ra những gì chưa từng được ghi.

Vì sao tệp đã sửa ngắn hơn

Các khung hình video không độc lập với nhau. Khung hình chính là một hình hoàn chỉnh, nhưng các khung hình sau nó chỉ lưu phần khác biệt so với nó — nên nếu dữ liệu của khung hình chính bị hỏng, mọi khung hình dựa vào nó cũng không dùng được, dù bản thân byte của chúng hoàn toàn bình thường. Đó là lý do một tệp chỉ có mười khung hình hỏng nhưng có thể mất đi nhiều hơn thế rất nhiều.

Khi sửa, công cụ chỉ giữ những khung hình thực sự giải mã được và nối liền các khoảng trống, để kết quả phát trọn từ đầu đến cuối thay vì đứng hình ở chỗ hỏng. Cái giá là kết quả ngắn hơn bản gốc đúng bằng phần đã bị bỏ. Trang này cho bạn biết con số đó trước khi bạn quyết định, và nhắc lại một lần nữa ở kết quả.

Ở chế độ mặc định, các khung hình được giữ lại được sao chép mà không mã hóa lại. Bước kiểm tra giải mã đầy đủ cần thời gian; chế độ tùy chọn “Giữ cả khung hình có hình ảnh không trọn vẹn” sẽ mã hóa lại phần video được giữ.

Âm thanh được giữ lại và vẫn khớp với hình. Nối liền các khoảng trống nghĩa là phần hình không còn khớp với phần âm thanh dài như bản gốc, nên âm thanh được cắt theo đúng những ranh giới đó — mỗi đoạn hình được giữ mang theo đúng đoạn tiếng của nó, dịch đi cùng một khoảng. Trong mỗi đoạn, hình và tiếng khớp chặt với nhau; chỉ ở các mối nối thì âm thanh mới có thể lệch, và không bao giờ quá nửa gói âm thanh, tức khoảng mười mili giây. Mức đó thấp hơn cả chục lần so với ngưỡng mà bất kỳ ai có thể nhận ra là tiếng lệch khẩu hình.

Những việc trang này không làm được

Tệp hoàn toàn không mở được thì nằm ngoài khả năng của trang này. Mỗi tệp MP4 đều có một chỉ mục mô tả vị trí của từng khung hình. Nếu chỉ mục đó bị hỏng hoặc bị mất — thường gặp khi việc ghi hình dừng lại mà tệp chưa được hoàn tất — thì không còn bản đồ nào để lần theo, và trang này sẽ báo rõ thay vì quay vòng chờ mãi. Muốn cứu những tệp đó, bạn cần bản gốc hoặc một công cụ dựng lại chỉ mục bằng cách đoán ranh giới giữa các khung hình.

Âm thanh không được kiểm tra hư hỏng. Các gói âm thanh hiện có được sao chép và cắt cho khớp với phần video được giữ lại. Âm thanh đã hỏng hoặc vốn đã mất thì quá trình này không khôi phục được.

Chỉ hỗ trợ H.264 và HEVC. Đây là những codec lưu khung hình kèm con số độ dài đứng trước, và đó chính là thứ bước kiểm tra đọc. MJPEG, MPEG-4 Part 2 và các codec khác sắp xếp khung hình theo cách khác — đo bằng cây thước này thì tất cả sẽ trông như bị hỏng, nên trang này từ chối kiểm tra.

Câu hỏi thường gặp

Video của tôi có bị tải lên đâu không?

Không. Tệp được trình duyệt đọc ngay trên thiết bị của bạn, và bản sao đã sửa cũng được ghi ở đó. Không có gì được gửi lên máy chủ — bạn có thể tự kiểm chứng bằng cách mở bảng Mạng (Network) của trình duyệt trong lúc quét, hoặc ngắt Internet trước khi bắt đầu sửa.

Sửa video có làm giảm chất lượng không?

Chế độ mặc định sao chép các khung hình được giữ lại mà không mã hóa lại. Chế độ “Giữ cả khung hình có hình ảnh không trọn vẹn” sẽ mã hóa lại video và có thể làm thay đổi chất lượng; các khung hình khôi phục được có thể bị vỡ khối.

Tệp đã sửa có còn âm thanh không?

Có, và vẫn khớp với hình. Âm thanh được cắt theo đúng những ranh giới như phần hình và dịch đi cùng một khoảng, nên hình và tiếng khớp chặt với nhau trong từng đoạn được giữ. Chỉ ở các mối nối giữa các đoạn thì chúng mới có thể lệch nhau chút ít, tối đa nửa gói âm thanh — khoảng mười mili giây, thấp hơn rất nhiều so với mức có thể nhận ra. Thứ bạn không lấy lại được là phần âm thanh thuộc về những đoạn đã bị bỏ, vì phần hình đi kèm cũng không còn.

Kết quả quét báo tệp còn nguyên vẹn nhưng vẫn không phát được. Vì sao?

Bước kiểm tra này chỉ bao quát dữ liệu hình ảnh của video H.264 và HEVC. Một tệp có thể qua được bước này mà vẫn không phát được vì lý do khác: trình phát không hỗ trợ codec, rãnh âm thanh bị hỏng, hoặc một điểm bất thường trong định dạng chứa. Kết quả sạch ở đây giúp khoanh vùng vấn đề chứ chưa giải quyết được nó.

Quét mất bao lâu?

Thời gian tùy vào thời lượng video, độ phân giải, codec và tốc độ của thiết bị, vì bước kiểm tra vừa đọc vừa giải mã video. Video lớn có thể mất vài phút. Chọn một tệp khác sẽ dừng lần phân tích đang chạy.

Có khôi phục được phần video chưa từng được tải xuống không?

Không. Nếu quá trình truyền tệp dừng sớm, phần dữ liệu hình ảnh còn thiếu chưa bao giờ được ghi xuống ổ đĩa của bạn — trên thiết bị không có gì để khôi phục. Điều trang này làm được là cho bạn biết chính xác thiếu bao nhiêu, và ghi ra một bản sao sạch, phát được của phần đã tải về.

Tệp của tôi thậm chí không mở được. Giờ phải làm sao?

Điều đó cho thấy vấn đề nằm ở chỉ mục của tệp chứ không phải ở các khung hình, và đây là trường hợp duy nhất trang này không giúp được. Nếu có thể, hãy lấy lại bản gốc. Nếu không, bước tiếp theo là dùng một công cụ khôi phục chuyên dụng có khả năng dựng lại chỉ mục bằng cách dò tìm ranh giới giữa các khung hình — ứng dụng cho Mac cũng có thể mã hóa lại vòng qua những chỗ hỏng mà trình duyệt không xử lý được.

Các công cụ video khác

Đội ngũ AskClean · Cập nhật 2026-09-01