Hướng dẫn OTT về Codec, định dạng container và chuyển mã
Nếu tiêu đề của bài viết này không làm bạn đau đầu, thì phần còn lại của nó chắc chắn sẽ như vậy. Chà, hy vọng tôi có thể giải thích nó theo cách có ý nghĩa với người phi kỹ thuật. Tôi đang viết bài viết này về codec video / âm thanh bởi vì tôi thấy mình bối rối khi cố gắng giải thích nó với một người bạn một ngày.
Chính xác thì codec là gì? Tôi biết bạn cần họ để chơi một bộ phim ở đây và đó, nhưng thực sự cái quái gì vậy? Điều thực sự làm tôi bối rối là tất cả các thuật ngữ tôi đã nghe nói, nhưng chưa bao giờ thực sự hiểu: H.264, DivX, MP4, AVI, MPEG-2, AVCHD, AAC, OGG, MKV, v.v. Sau khi đọc và học hỏi nhiều, tôi nhận ra rằng thế giới của codec âm thanh và video và các định dạng chứa rất khó hiểu. Trên thực tế, tôi thực sự thậm chí không biết sự khác biệt giữa codec và định dạng chứa cho đến khi tôi bắt đầu nghiên cứu.
Tôi sẽ không đi sâu vào chi tiết, chỉ vì chủ đề bắt đầu trở nên rất nhanh. Bạn có thực sự quan tâm nếu 1 giờ RAW 60 khung hình không nén 1080p mỗi giây chiếm hết gần 500 GB dung lượng lưu trữ không? Chắc là không.
Codec là gì?
Vậy chính xác thì codec là gì và nó làm gì? Trong các thuật ngữ đơn giản nhất có thể, codec là một bộ mã hóa / giải mã hoặc, ở dạng ban đầu, một bộ nén (co) - bộ giải nén (dec). Vì vậy, đó chính xác là những gì một codec làm: nó lấy một tệp kỹ thuật số và nén nó (hoặc mã hóa nó) để lưu trữ và giải nén nó (hoặc giải mã nó) để xem hoặc chuyển mã. Tôi sẽ nói với bạn về việc chuyển mã là một lát sau, đừng nhầm lẫn điều này sớm.
Điều quan trọng cần hiểu là một codec giống như một đặc điểm kỹ thuật về cách dòng bit sẽ trông như thế nào. Một dòng là gì? Để không có nhiều kỹ thuật, đó là cách sắp xếp chuỗi byte cho codec cụ thể đó. Mỗi codec có một bộ hướng dẫn cụ thể. Ví dụ: nó có thể chỉ định chiều rộng, chiều cao, tỷ lệ khung hình, v.v. Hãy xem trang này, nhưng đừng đọc quá nhiều nếu không đầu của bạn sẽ bị tổn thương:
http://www.cs.cf.ac.uk/Dave/Multidia/node262.html
Bởi vì đó là một đặc điểm kỹ thuật, có thể cho tôi nhiều cách để chuyển đổi dữ liệu sang định dạng đó. Do đó, có thể có nhiều bộ mã hóa cho một codec. Tôi sẽ giải thích thêm về các bộ mã hóa trong phần Codecs phổ biến bên dưới.
Vậy tại sao chúng ta thậm chí cần tất cả sự nén và giải nén này? Cũng giống như tôi đã đề cập ở trên, một tệp 1080p không nén RAW gần như là một con số khổng lồ 500GB chỉ trong một giờ. Bạn sẽ cần trung tâm dữ liệu của riêng mình để lưu trữ tất cả các video gia đình nếu mọi thứ được ghi ở định dạng đó. Đó là nơi mà sự nén lại phát huy tác dụng. Có nhiều kiểu nén khác nhau, chuyển thành các loại codec khác nhau. Vậy một số codec phổ biến là gì?
Codecs phổ biến
H.264 (MPEG-4 Phần 10 AVC) - Đây cũng chính thức được gọi là MPEG-4 Phần 10, nhưng H.264 là những gì bạn thường nghe. Vâng, cũng có nhiều tên cho cùng một điều. H.264 cho đến nay là định dạng phổ biến nhất để mã hóa video. H.264 cung cấp tốt nhất của tất cả các thế giới: kích thước tệp nhỏ hơn với chất lượng cao hơn.
Một lần nữa, hãy nhớ rằng, H.264 chỉ là codec, bạn sẽ không tìm thấy bất kỳ tệp nào có đuôi .h264. Đó là định dạng chứa cho mục đích gì, mà tôi sẽ giải thích trong phần bên dưới. Bộ giải mã này được sử dụng ở mọi nơi từ điện thoại thông minh đến máy quay kỹ thuật số đến đĩa Blu-ray. Ngày nay, nó cũng được sử dụng để phân phối nhiều video trên web vì khả năng mang lại cho bạn chất lượng hình ảnh tuyệt vời với tỷ lệ nén cao và tốc độ bit thấp, nghĩa là ít gây căng thẳng hơn cho các máy chủ phát trực tuyến.
Nó cũng được hỗ trợ cao và có lẽ sẽ là codec phổ biến nhất trong một thời gian dài sắp tới. Nó được hỗ trợ bởi Apple, YouTube, HTML 5 và thậm chí trong Adobe Flash.
Nhược điểm duy nhất của H.264 là thuật toán nén của nó rất tốt, chậm hơn rất nhiều để mã hóa video sang định dạng này. Bạn sẽ tìm hiểu thêm về điều đó khi chúng ta nói về việc chuyển mã xuống bên dưới.
Như tôi đã đề cập ở trên, có nhiều bộ mã hóa cho một codec. Đối với codec H.264, một trong những bộ mã hóa phổ biến nhất là x264 từ Videolan, cùng những người tạo VLC Media Player. x264 là mã nguồn mở và miễn phí, nhưng cũng có nhiều bộ mã hóa H.264 thương mại. Không quan trọng là luồng video được chuyển đổi sang định dạng này như thế nào, mọi bộ giải mã H.264 (như VLC) sẽ có thể xem tệp.
MPEG-2 - Vẫn có một bộ sưu tập DVD lớn? Tất cả đã được thực hiện bằng cách sử dụng codec MPEG-2. Nó khá cũ, nhưng rất phổ biến. Một nơi khác mà bạn tìm thấy nén MPEG-2 là khi bạn xem các kênh HD đó phát sóng qua mạng. Đó là tất cả nén MPEG-2. Những điều thú vị cần biết, phải không?
Do thuật toán nén bằng MPEG-2 kém hơn so với H.264, nên nó có ưu điểm là mã hóa nhanh hơn rất nhiều. Tuy nhiên, nó không bao giờ hoạt động cho phát trực tuyến web vì ở tốc độ bit thấp hơn, chất lượng sẽ nhanh chóng được ghi nhận và bạn sẽ kết thúc bằng video pixel. Đó là lý do tại sao họ nghĩ ra MPEG-4 Phần 2.
MPEG-4 Phần 2 - Bạn có thể nhớ những ngày mà mọi thứ nói về DivX và Xvid phải không? Đó là những bộ mã hóa cho định dạng MPEG-4 Phần 2, hay còn gọi là H.263. Rất nhiều bộ phim mà bạn đã tải xuống trong ngày đã được nén bằng cách sử dụng codec này bởi vì nó cho bạn kích thước tệp tốt và duy trì chất lượng hợp lý. Tuy nhiên, vấn đề lớn duy nhất là nội dung độ phân giải cao vẫn bị ảnh hưởng về chất lượng hình ảnh và đó là nơi H.264 mà tôi đã đề cập ở trên đã tiếp quản.
Video truyền thông Windows - Đây là phiên bản cơ bản của codec codec MPEG-4. WMV 7 được giới thiệu vào năm 1999 và là bản sao của MPEG-4 Phần 2. Sau đó, WMV 8 và 9 xuất hiện, tiếp theo là VC-1, một codec chủ yếu sao chép MPEG-4 Phần 10 và hiện đang được sử dụng trong Blu-ray đĩa cũng vậy. Những nơi khác mà bạn thấy WMV và VC-1 chủ yếu là trong các sản phẩm liên quan đến Microsoft như Windows Movie Maker, Silverlight, HD DVD và Microsoft Expression Encoder, v.v..
Đây chỉ là các codec video phổ biến, bạn cũng có codec âm thanh của mình, chúng sẽ phát huy tác dụng khi chúng ta nói về các container bên dưới. Các codec âm thanh phổ biến bao gồm FLAC, AC3, Dolby Digital Plus, DTS-HD, ALAC, v.v. Cũng như video, codec âm thanh có các định dạng chứa riêng như AIFF, WAV, v.v..
Đây không phải là tất cả các codec ngoài kia, nó chỉ là một danh sách của một số những cái phổ biến nhất. Bây giờ hãy nói về các định dạng container.
Định dạng container
Khi bạn phát tệp trong Windows Media Player hoặc VLC hoặc Quicktime hoặc bất kỳ trình phát đa phương tiện nào bạn chọn, bạn thường mở định dạng chứa. Một định dạng chứa hoặc trình bao bọc về cơ bản là gói của một hoặc nhiều codec, video hoặc âm thanh hoặc cả hai. Một thùng chứa được sử dụng để thêm âm thanh cùng với video và để đảm bảo âm thanh và video được đồng bộ hóa hoàn hảo. Container cũng sẽ chứa thông tin khác cần thiết bởi một máy chủ phát trực tuyến hoặc bởi trình phát phương tiện. Các luồng bit video và âm thanh chỉ được bọc trong một luồng bit khác.
Các định dạng vùng chứa là nơi bạn thấy các phần mở rộng tệp phổ biến mà tất cả chúng ta đều sử dụng như MP4, MOV, WMV, AVI, v.v. Chúng ta hãy đi qua một số các thùng chứa phổ biến nhất:
MP4 - Có lẽ bạn đã tải xuống một bài hát có phần mở rộng .MP4, đây là trình bao bọc cho nhiều codec video và âm thanh. Thông thường nhất, nó được sử dụng để bọc video H.264 và âm thanh được mã hóa AAC. Nó cũng hỗ trợ codec video MPEG-4 Phần 2 và MPEG-2. Ngoài ra, âm thanh có thể được mã hóa bằng các codec khác ngoài AAC.
AVI - Đây là định dạng chứa của Microsoft từ năm 1992. Nó đã trở nên rất phổ biến vào thời của tôi và nó vẫn còn khá nhiều. Nếu bạn thực hiện bất kỳ mã hóa nào, bạn không bao giờ nên sử dụng định dạng bộ chứa AVI nữa. Thứ nhất, nó không hỗ trợ các codec mới hơn như H.264. Nó cũng có một vài vấn đề lớn khác, đó là lý do tại sao nó không được sử dụng nữa.
ASF - Định dạng hệ thống nâng cao của Microsoft thường không sử dụng phần mở rộng tệp .ASF. Thay vào đó, bạn sẽ thấy hầu hết các container ASF sử dụng .WMA hoặc .WMV. Bạn sẽ thấy những tệp này xung quanh nếu bạn đang sử dụng tất cả các sản phẩm của Microsoft. Khi bạn rời khỏi thế giới Microsoft, bạn sẽ gặp phải các vấn đề khi phát lại các tệp, đặc biệt nếu bạn sử dụng codec H.264.
AVCHD - AVCHD là định dạng chứa phổ biến nhất cho máy quay HD. Video thường là H.264 với âm thanh AC3 (Dolby Digital) hoặc PCM tuyến tính.
MKV - Tải phim gần đây? Nó có thể ở định dạng chứa MKV, chứa các tệp video H.264. Khá nhiều công cụ hỗ trợ MKV như Boxee, PS3 Media Server, XMBC, VLC, v.v., nhưng nó chưa được hỗ trợ rộng rãi như các định dạng chứa khác.
FLV - Đây là Adobe Flash, hỗ trợ nhiều codec khác nhau, phổ biến nhất là H.264 và AAC. Flash video là một trong những cách phổ biến nhất mà video được truyền phát qua Internet. Nó đang mất điểm vì HTML 5 và thực tế là Apple sẽ không cho phép flash chạy trên bất kỳ ứng dụng nào của iDevice, nhưng nó vẫn rất phổ biến.
Có các định dạng chứa khác như Định dạng tệp QuickTime, OGG, WebM, v.v., nhưng bạn loại hình này ngay bây giờ.
Chuyển mã
Điều cuối cùng cần hiểu về tất cả những điều này là bạn có thể sẽ phải chuyển đổi video AVCHD mà bạn đã tải xuống từ máy quay sang định dạng khác mà sau đó bạn có thể nhập vào iTunes và phát trên iPhone. Vì có rất nhiều codec và định dạng chứa và mỗi định dạng chứa có thể có các kết hợp codec video và âm thanh khác nhau, bạn cần một bộ chuyển mã để có được loại tệp bạn muốn cho thiết bị cụ thể của mình.
Có rất nhiều bộ chuyển mã hay còn gọi là bộ chuyển đổi video ngoài kia: HandBrake, FFmpeg, SUPER, VirtualDub, v.v. Một số được trả tiền và một số là các công cụ nguồn mở miễn phí. Một số công cụ, như HandBrake, cung cấp cho bạn các cài đặt trước để bạn có thể chỉ cần chọn tệp nguồn của mình và chọn định dạng đầu ra như iPod hoặc iPhone và nhấp vào Bắt đầu. Nó sẽ chọn tất cả các cài đặt, thùng chứa, codec, vv cho bạn. Tuy nhiên, hy vọng sau khi đọc bài đăng này, bây giờ bạn đã hiểu thêm một chút và có thể chuyển đổi video giữa các định dạng và hiểu quy trình cơ bản tốt hơn một chút. Thưởng thức!