Trong bài viết này, bạn sẽ tìm hiểu về các khái niệm cơ bản về tệp phương tiện, chẳng hạn như khái niệm về vùng chứa và một số trong số nhiều định dạng bộ mã hoá và giải mã có sẵn mà bạn có thể sử dụng trong luồng. Ngoài ra, chúng ta sẽ đề cập sơ qua các chủ đề như truyền trực tuyến thích ứng, tốc độ bit và độ phân giải. Tuy nhiên, chúng ta sẽ tìm hiểu kỹ hơn về tất cả các chủ đề này trong các phần sau.
Phân phát tệp video
Bạn có thể nghĩ rằng bạn có thể lấy tệp thô từ máy quay video và chỉ cần tải tệp đó lên web. Thật vậy, các trang web phát trực tuyến video như YouTube hoặc Vimeo cho phép bạn làm điều đó và thậm chí cung cấp tính năng phát trực tiếp, thường là bằng cách kết nối với cổng HDMI của máy quay rồi xử lý tệp đó thông qua thẻ ghi hình. Các dịch vụ này giúp đơn giản hoá đáng kể việc xử lý và tải video lên, bao gồm cả việc tạo nhiều tệp và tệp kê khai cần thiết cho tính năng truyền trực tuyến thích ứng và nhiều độ phân giải. Ngoài ra, còn có nhiều yêu cầu phức tạp và tinh tế khác khiến việc tự lưu trữ trở thành một việc khá phiền toái. Việc chuẩn bị và phân phát video từ trang web của riêng bạn và có thể là một máy chủ nội dung nghe nhìn riêng biệt sẽ phức tạp hơn một chút so với việc chỉ tải tệp thô của máy ảnh lên nếu bạn quan tâm đến trải nghiệm của người dùng trên trang web của mình.
Tệp video có nhiều định dạng. Định dạng được lấy từ máy ảnh của bạn thường là tệp .mov
hoặc .mp4
nếu bạn có một máy ảnh không gương lật hiện đại tốt.
Tuy nhiên, mặc dù .mov
phù hợp để quay video, chỉnh sửa và các quy trình hậu kỳ ban đầu khác, nhưng kích thước tệp lại không phù hợp để truyền trực tuyến qua web. Ngoài ra, kích thước tệp của .mp4
thô ở độ phân giải 4K sẽ khiến việc phát tệp đó trên thiết bị di động trở nên rất khó khăn. Vì các trình duyệt hỗ trợ nhiều định dạng tệp, nên bạn cần tạo nhiều tệp được tối ưu hoá và có thể là một tệp kê khai nếu dự định hỗ trợ tính năng phát trực tuyến thích ứng. Trước khi chuyển đổi tệp, bạn cần nắm được một số thông tin cơ bản về tệp và đặc điểm của tệp.
Vùng chứa, bộ mã hoá và giải mã và luồng?
Tệp mà bạn thấy trong màn hình shell của hệ điều hành là một vùng chứa, được xác định bằng đuôi tệp (.mp4
, .webm
, .ogg
, v.v.). Vùng chứa chứa một hoặc nhiều luồng. Một tệp phương tiện có thể có số lượng luồng bất kỳ, với nhiều định dạng hơn chúng ta sẽ đề cập ở đây.
Các tệp mẫu được sử dụng sau trong phần này chứa tối đa hai luồng: luồng âm thanh và luồng video. Trong số các loại khác mà bạn có thể gặp phải là chú thích và dữ liệu, cả hai đều nằm ngoài phạm vi của bài viết này. Có trường hợp luồng âm thanh và video được xử lý riêng biệt. Hầu hết các tệp mà bạn gặp phải sẽ chỉ chứa một luồng âm thanh và một luồng video.
Trong luồng âm thanh và video, dữ liệu thực tế được nén bằng bộ mã hoá và giải mã. Bộ mã hoá và giải mã (codec) hoặc bộ mã hoá/giải mã là một định dạng nén cho dữ liệu video hoặc âm thanh. Việc phân biệt giữa vùng chứa và bộ mã hoá và giải mã là rất quan trọng vì các tệp có cùng vùng chứa có thể có nội dung được mã hoá bằng các bộ mã hoá và giải mã khác nhau.
Hình ảnh dưới đây minh hoạ cấu trúc này. Ở bên trái là cấu trúc vùng chứa cơ bản với hai luồng. Ở bên phải là thông tin chi tiết về cấu trúc đó cho một tệp WebM.

Các tệp trong vùng chứa WebM có thể nhỏ hơn nhiều lần so với các định dạng khác, giúp các tệp này trở thành lựa chọn phù hợp để phát trực tuyến trên các trang web dành cho thiết bị di động. Rất tiếc, không phải trình duyệt nào cũng hỗ trợ các vùng chứa và bộ mã hoá và giải mã mới nhất. Ví dụ: WebM được tạo dành riêng cho web dưới dạng một tuỳ chọn chất lượng cao và nguồn mở, nhưng tính năng hỗ trợ của WebM chưa phổ biến. Cụ thể, Safari không hỗ trợ WebM cho video được nhúng theo trang Can I use (Tôi có thể sử dụng) tại thời điểm viết bài này. Tuy nhiên, WebM có hỗ trợ một phần bộ mã hoá và giải mã VP8 và VP9 dùng trong WebRTC. Vì vậy, tốt nhất bạn nên cung cấp một video dự phòng.
Định dạng bộ mã hoá và giải mã
Nhiều loại tệp hỗ trợ nhiều bộ mã hoá và giải mã trong cùng một vùng chứa. Danh sách đầy đủ các codec video và codec âm thanh hiện có sẽ là một trang web riêng. Các đường liên kết vừa cung cấp là dành cho danh sách thực tế của MDN về những nội dung có thể sử dụng trên web. Dưới đây là các loại tệp hiện được ưu tiên và bộ mã hoá và giải mã mà các loại tệp đó có thể sử dụng. Hãy truy cập vào các đường liên kết về loại tệp để xem những trình duyệt hỗ trợ loại tệp đó.
Loại tệp | Bộ mã hoá và giải mã video | Bộ mã hoá và giải mã âm thanh |
---|---|---|
MP4 | AV1, AVC (H.264)*, VP9 | AAC |
WebM | AV1, VP9* | Vorbis, Opus |
* Cho biết bộ mã hoá và giải mã video ưu tiên.
Tốc độ bit và độ phân giải
Tốc độ bit là số bit tối đa dùng để mã hoá một giây của luồng. Càng nhiều bit được dùng để mã hoá một giây của luồng, thì độ trung thực và chi tiết tiềm năng càng cao. Chúng tôi cung cấp thêm thông tin về khái niệm này trong phần Tốc độ bit.
Độ phân giải là lượng thông tin trong một khung hình video, được cung cấp dưới dạng số pixel logic theo mỗi chiều. Chúng tôi cung cấp thêm thông tin về khái niệm này trong phần Độ phân giải.
Tiếp theo, trong phần Kiến thức cơ bản về ứng dụng đa phương tiện, chúng tôi sẽ hướng dẫn bạn cách kiểm tra các đặc điểm này bằng hai công cụ dòng lệnh: Trình đóng gói Shaka và FFmpeg.