So sánh định dạng video: MP4, WebM, MOV, AVI theo mục đích sử dụng
Tóm tắt (TL;DR)
Năm ngoái một người bạn làm biên tập video hỏi tôi “file MP4 mà sao Premiere không đọc được?” Đuôi file là .mp4, nhưng bên trong là HEVC 10-bit 4:2:2. Chuỗi công cụ vốn chỉ chờ H.264 đã dừng ngay lập tức. Đuôi file là cái hộp, codec là thứ bên trong. Việc hai thứ này khác nhau có lẽ giải thích 90% những bối rối quanh định dạng video.
Nhầm lẫn phổ biến nhất khi chọn định dạng video là coi container (phần mở rộng) và codec là cùng một thứ. MP4, WebM, MOV, AVI, MKV là container; H.264, H.265, AV1, VP9, ProRes là codec video thực tế chứa bên trong. Kết luận trước: phân phối web vẫn an toàn nhất với MP4 + H.264 làm đường cơ sở, nếu ưu tiên hiệu quả dung lượng thì chọn AV1 hoặc H.265, bản gốc biên tập thường là container MOV + ProRes, còn lưu trữ dài hạn thường là MKV + AV1 hoặc H.265. AVI không phải “luôn chất lượng cao” mà chỉ là container cũ với hỗ trợ âm thanh, phụ đề và metadata hạn chế. H.265 hiệu quả hơn H.264 khoảng 40–50% nhưng kèm rắc rối về bản quyền và thiết bị cũ, còn AV1 thì miễn phí bản quyền nhưng encoder phần cứng còn hạn chế. Vì vậy thay vì cố chọn một “định dạng tốt nhất”, thực tế hơn là thiết kế một tổ hợp phù hợp với đối tượng người xem, môi trường phát lại và pipeline biên tập.
Bối cảnh và khái niệm
Container là “cái hộp” chứa video, âm thanh, phụ đề, chapter, metadata trong một file duy nhất. MP4 (ISO Base Media File Format) là chuẩn MPEG, WebM là tập con hướng web dựa trên Matroska, MOV là container QuickTime của Apple, AVI là container đời đầu do Microsoft tạo năm 1992. MKV (Matroska) có khả năng mở rộng cao và gần như không giới hạn codec.
Codec là thuật toán thực tế thực hiện nén. H.264 (AVC) được chuẩn hoá năm 2003 và đã trở thành tiêu chuẩn thực tế hơn 20 năm, được giải mã bằng phần cứng trên gần như mọi thiết bị. H.265 (HEVC) có thể tạo bitrate nhỏ hơn H.264 khoảng 40–50% ở cùng chất lượng, nhưng đi kèm chi phí bản quyền và vấn đề hỗ trợ trên trình duyệt và thiết bị cũ. AV1 là codec miễn phí bản quyền do AOM (Alliance for Open Media) công bố năm 2018, hướng tới hiệu quả tương đương hoặc tốt hơn H.265. VP9 được dùng rộng rãi trong WebM và YouTube. ProRes là codec biên tập của Apple, giữ tỷ lệ nén thấp để giải mã từng khung hình nhanh khi dựng phim. Tóm lại, “chất lượng = định dạng” là sai; bitrate, codec và cài đặt mới quyết định chất lượng.
So sánh và dữ liệu
| Container | Codec tiêu biểu | Hỗ trợ trình duyệt | Metadata và phụ đề | Hiệu quả nén | Đặc trưng |
|---|---|---|---|---|---|
| MP4 | H.264, H.265, AV1 | Mọi trình duyệt (H.264) | Rộng (ID3, chapter) | Phụ thuộc codec | Chuẩn phân phối web |
| WebM | VP9, AV1 | Chrome, Firefox, Edge, Safari mới | Phụ đề WebVTT | Tốt (AV1) | Mở, miễn phí bản quyền |
| MOV | H.264, ProRes, v.v. | Phát lại trên trình duyệt hạn chế | Rất rộng (nhiều track) | Cho bản gốc biên tập | Thân thiện macOS/iOS |
| AVI | Xvid, DivX, v.v. | Tương thích phát lại thấp | Phụ đề và metadata hạn chế | Cũ, kém hiệu quả | Tương thích tài liệu di sản |
| MKV | Gần như mọi codec | Phát lại trên trình duyệt hạn chế | Rất linh hoạt | Phụ thuộc codec | Lưu trữ, phụ đề fan |
Các con số (ví dụ “hiệu quả 50%”) sẽ thay đổi mạnh tuỳ nội dung nguồn, bitrate, cài đặt encoder và preset. So sánh con số đơn lẻ mà không đồng bộ tham số thì ít có ý nghĩa.
Tình huống thực tế
Tình huống 1 — Video phát hành trên website. Mặc định là MP4 (H.264 High Profile) + AAC-LC. Với video giới thiệu 90 giây cho landing page, ffmpeg -crf 23 -preset slow cho ra khoảng 8 MB với chất lượng 1080p hầu như luôn hài lòng. Nếu muốn tiết kiệm thêm băng thông, thêm WebM (AV1/VP9) vào <source> và cung cấp phụ đề WebVTT ở track riêng để tăng khả năng tiếp cận và SEO.
Tình huống 2 — Lưu bản gốc biên tập. Biên tập mặc định là MOV + ProRes 422. Có lần tôi cố dựng trực tiếp với nguồn H.265 và timeline Resolve bị giật; đổi sang proxy ProRes 422 thì cùng project phát mượt thời gian thực. Nhược điểm là ProRes 422 1080p 10 phút nặng khoảng 8 GB, nên luồng hai bước “dựng xong xuất một lần sang H.264/H.265” là thông lệ.
Tình huống 3 — Lưu trữ dài hạn. MKV + AV1 là mặc định hợp lý ở thời điểm này. Tôi thường chạy SvtAv1EncApp --preset 4 --crf 28 để encode lại video 4K cũ, kết quả giảm xuống 40–55% dung lượng gốc mà khác biệt thị giác gần như không nhận ra. MKV linh hoạt với nhiều track, phụ đề và chapter nên dùng kèm encode dựa trên CRF rất tốt. Với thư viện gia đình dung lượng nửa TB tới vài TB, chạy encode AV1 qua đêm trên máy tính nhàn rỗi vẫn thực tế — preset 4 trên Ryzen 5 7600 xử lý khoảng 20–30 giây trên mỗi phút video 1080p.
Tình huống 4 — Tải lên nền tảng (YouTube, TikTok, Vimeo). YouTube chấp nhận nhiều codec nhưng sẽ tái mã hoá mọi thứ sang VP9 và AV1 ở server của họ. Upload file H.264 bitrate cao (50–80 Mbps cho 1080p) cho chất lượng hiển thị tốt hơn AV1 nén chặt cùng dung lượng, vì tầng encode của YouTube sẽ bị ít thông tin hơn khi nguồn đã nén sẵn. Nghịch lý: gửi H.264 chất lượng cao đôi khi ra kết quả tốt hơn AV1 tối ưu hoá, vì pipeline server tính toán dựa trên giả định nguồn “như gốc”.
Những hiểu lầm thường gặp
“AVI luôn là chất lượng cao nhất.” AVI chỉ là container cũ; chất lượng được quyết định bởi codec và bitrate bên trong. Cùng codec thì khác biệt với MP4 và MKV gần như không có, và AVI còn yếu về phụ đề và metadata.
“MOV chỉ dành cho Apple.” MOV bắt nguồn từ QuickTime nhưng được công khai gần như chuẩn, nên hầu hết trình phát trên Windows và Linux đều chạy được. Tuy nhiên phát trực tiếp trên trình duyệt thì MOV thường tương thích kém hơn MP4.
“H.265 luôn tốt hơn H.264.” Hiệu quả nén tốt hơn nhưng có chi phí bản quyền, và giải mã phần cứng có thể không khả dụng trên trình duyệt cũ hoặc thiết bị di động cấu hình thấp. Với web công khai nhắm đến nhiều thiết bị khác nhau, H.264 vẫn là lựa chọn an toàn nhất.
“AV1 là chuẩn mới.” Thị phần có tăng theo thời gian — Intel Arc, Apple từ M3 trở đi, NVIDIA RTX 40 series đã có encoder AV1 phần cứng — nhưng tính đến đầu năm 2026, phần lớn chuỗi live streaming thực tế vẫn chạy H.264/H.265. AV1 thời gian thực ngốn điện và toả nhiệt đáng kể. AV1 tốt cho encode batch và lưu trữ lớn, nhưng còn sớm để áp dụng cho mọi kịch bản streaming thời gian thực.
“Bitrate càng cao càng tốt.” Sai khi vượt quá sweet spot của codec. Với H.264 1080p 30 fps, trên 12–15 Mbps là vùng hoàn lại giảm nhanh — mắt người không phân biệt được với 20 Mbps trong hầu hết tình huống xem thông thường, nhưng file to gấp rưỡi. Đo PSNR hoặc VMAF nếu bạn cần định lượng; ngưỡng VMAF 93 thường là “rất tốt”, 97 là “gần không phân biệt với gốc” và không đáng để tăng thêm bitrate.
Danh sách kiểm tra
- Mục đích cuối là gì?
- Phân phối web công khai → MP4 + H.264 (fallback), nếu đủ điều kiện thì thêm AV1 làm nguồn chính.
- Môi trường nội bộ hoặc trình phát cụ thể → Kiểm tra danh sách tương thích của trình phát đó trước.
- Bản gốc biên tập → Định dạng thân thiện dựng phim như MOV + ProRes.
- Lưu trữ dài hạn → MKV + AV1 hoặc H.265.
- Thiết bị và trình duyệt người xem phân bố ra sao? Nếu tỷ trọng thiết bị cũ cao, bắt buộc có fallback H.264.
- Dung lượng hay chất lượng quan trọng hơn? Ưu tiên dung lượng → AV1 hoặc H.265. Ưu tiên tương thích → H.264.
- Âm thanh, phụ đề và metadata quan trọng đến mức nào? Cần nhiều track và chapter → MKV hoặc MP4.
- Cấu trúc chi phí? Bản quyền H.265, chi phí điện năng và thời gian encode (AV1) cũng là yếu tố quyết định.
Công cụ liên quan
Để chuyển đổi định dạng thực tế theo hướng dẫn này, bạn có thể thử trực tiếp chuyển đổi giữa MP4, WebM và MOV trên công cụ chuyển đổi video của Patrache Studio. Thumbnail hoặc still cut opening được nhúng vào video nên tuân theo tiêu chí định dạng trong Hướng dẫn nén ảnh toàn diện để giảm dung lượng tổng trang. Nếu bạn muốn nhúng QR quét được vào video, hãy kiểm tra trước khác biệt giữa QR tĩnh và động trong Bảo mật mã QR để an toàn hơn.
Tài liệu tham khảo
- MDN, “Video codecs” — https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs
- AOMedia, “AV1 Features” — https://aomedia.org/av1-features/get-started/
- Apple, “About Apple ProRes” — https://support.apple.com/en-us/102205
- ISO/IEC 14496-14:2020 (định dạng file MP4) — Văn bản chuẩn được ISO phát hành có phí.