CUUFILE.COM, một dịch vụ của QuangCineCUUFILE.COM, một dịch vụ của QuangCine
Đăng nhập hoặc đăng ký

Bên trong một file .RSV

Phần kỹ thuật cho ai muốn hiểu sâu: .RSV chứa gì, sắp xếp thế nào, khác một file MP4 hoàn chỉnh ở đâu, và vì sao thiếu một mẩu nhỏ lại làm hỏng cả file to.

Bài này dành cho ai muốn hiểu sâu. Không cần đọc để dùng công cụ.

Một file MP4 hoàn chỉnh gồm gì?

Một file video xem được có hai phần:

PhầnNội dungCỡ
Phần ruộtKhung hình đã nén, mẫu âm thanhGần như toàn bộ dung lượng file
Phần mục lụcKhai báo kỹ thuật, bảng vị trí từng khung hình, bảng thời điểm, bảng khung khoáVài trăm KB tới vài MB

Trình phát luôn đọc phần mục lục trước, để biết đường nhảy tới từng khung hình. Không có nó thì không phát được một giây nào, dù phần ruột còn đủ.

File .RSV thiếu đúng phần mục lục

Máy quay viết phần ruột trong lúc quay, nhưng chỉ viết phần mục lục sau khi ngắt REC. Mất nguồn giữa chừng thì phần ruột có đủ, phần mục lục không có.

⟹ Đó là toàn bộ vấn đề: mất một mẩu vài trăm KB, hỏng nguyên file 50GB.

Ruột file .RSV sắp xếp thế nào?

Đây là chỗ .RSV khác một file MP4 thông thường.

MP4 thường: hình và tiếng xen kẽ nhau.

[mục lục][ hình₀ tiếng₀ hình₁ tiếng₁ hình₂ tiếng₂ ... ]

RSV: gom theo từng khối liền mạch.

[ khối 0 ][ khối 1 ][ khối 2 ] ... [ khối N ][ phần dở dang ]

Mỗi khối chứa ba phần, nằm liền nhau theo đúng thứ tự:

Thứ tựPhầnNội dung
1Siêu dữ liệu theo thời gianTimecode, thông số máy lúc quay, cài đặt
2HìnhMột chùm khung hình đã nén
3TiếngÂm thanh PCM tương ứng đúng chùm khung hình đó

Một khối tương ứng một chùm khung hình khép kín (GOP), tức một nhóm khung hình giải nén được mà không cần nhìn ra ngoài nhóm.

Vài con số thực tế

Đo trên các ca đã chạy qua:

Hạng mụcGiá trị thường gặpKhoảng đã gặp
Số khung hình mỗi khối1212 tới 48
Dung lượng mỗi khốiKhoảng 6 MB6 tới 27 MB
Độ phân giải3840 × 2160
Tốc độ khung hình25 fps23,98 · 25 · 50 fps
Tốc độ dữ liệuKhoảng 100 Mbps100 tới 250 Mbps
Chuẩn nén hìnhH.264/AVCH.264 hoặc H.265/HEVC
Âm thanhPCM 48 kHz, 2 kênh 16-bitCó loại 4 track rời 24-bit

Một file 50GB rơi vào khoảng tám nghìn rưỡi khối.

Vậy cứu file là làm gì?

Ba việc, theo thứ tự:

1. Đọc phần ruột, tìm ranh giới. Đi từ đầu file, nhận ra chỗ nào là siêu dữ liệu, chỗ nào bắt đầu một khung hình mới, chỗ nào là âm thanh. Từ đó lập ra bản đồ: khung hình thứ n nằm ở byte nào, dài bao nhiêu.

2. Lấy lại phần khai báo kỹ thuật. Phần này file .RSV không có, nên phải lấy từ một clip quay đúng của cùng dòng máy. Đây chính là vai trò của file tham chiếu.

3. Dựng lại phần mục lục và ghi ra file mới. Có bản đồ, có khai báo kỹ thuật, thì dựng lại được đủ các bảng mà một file MP4 cần.

🔑 Điểm quan trọng: không có bước nào đoán mò. Dữ liệu nằm sẵn đó và còn nguyên. Việc phải làm chỉ là lập lại bản đồ. Đó là lý do file cứu ra thường nguyên vẹn, chứ không phải vớt vát được đoạn nào hay đoạn đó.

Vì sao phần đuôi hay bị cụt?

Khối cuối cùng trong file gần như luôn dở dang, vì máy bị cắt điện đúng lúc đang ghi nó.

Phần dở dang đó không đủ để dựng thành khung hình hoàn chỉnh, nên bị bỏ. Thường chỉ mất dưới một giây hình.

Máy nào sinh ra định dạng này?

Dòng máy Sony quay video: FX3, FX30, A7S III và các dòng cùng họ. Dòng chuyên nghiệp hơn (FS7, FS6, VENICE) cũng dùng cơ chế tương tự.

Máy hãng khác có file dở dang riêng, cấu trúc khác. Ví dụ Panasonic Lumix sinh ra file .mdt, không xử lý bằng đường này được.

Bình luận (0)

Chưa có bình luận nào. Bạn mở lời nhé.