Giới thiệu về các định dạng video thường gặp và các chương trình xem Hiện nay có rất codec sử dụng để encode video cùng hàng tá các chuẩn khác nhau khác để hiệu chỉnh, xem phim có subtitle etc. Chính vì có quá nhiều thứ nên có lẽ chúng ta phải được tìm hiểu một cách cẩn thận và ghi lại để tiện cho việc tra cứu về sau. Về codec Codec là từ viết tắt của coder/decoder, nó chỉ là một mẩu chương trình nhỏ. Hay chúng ta có thể gọi nó là một công thức mà mọi chương trình media player cần đến nó. Chương trình sẽ đọc dữ liệu file media, dùng codec để giải mã chúng và đưa ra cho chúng ta nội dụng chính xác = hình ảnh/âm thanh của dữ liệu đó - đây là quá trình giải mã, một quá trình rất thông dụng trong cuộc sống số bình thường. Quá trình mã hoá cũng gần như tương tự có điều theo chiều gần ngược lại (vì có nhiều cách để encode) Chính vì mỗi loại video/âm thanh có cách ghi theo chuẩn codec mà nó sử dụng nên việc đọc file video/âm thanh cũng cần codec đó để giải mã. Vậy là cũng ko có gì khó khăn khi bạn gặp thông báo lỗi "ko tìm thấy codec" hoặc "ko thể render" một file video nào đó. Có 3 chuẩn codec MPEG (theo chuẩn MPEG thôi, còn rất nhiều codec khác): - MPEG-1: sử dụng trong VCD thông thường. Đây có lẽ là codec video cơ bản và cũ nhất của các loại video số. Có vẻ như nó sử dụng một chuỗi các hình ảnh nén bằng định dạng MPEG để tạo phim (Mình ko quan tâm nó lắm nên cũng chả buồn tìm hiểu sâu). - MPEG-2: sử dụng trong DVD video và SVCD. - MPEG-4: các loại codec tiên tiến hiện nay. Trong này có rất nhiều dòng codec nhỏ khác nhau, tuy chung gốc MPEG-4 nhưng lại có những quãng đường phát triển khác hẳn nhau. Về các đuôi .AVI .OGM .MPG .WMV etc Do có rất nhiều codec khác nhau tương ứng với rất nhiều nhà phát triển codec khác nhau nên cách qui ước cũng khác nhau. Có thể tạm chia làm 2 loại: - Loại đuôi tập tin sẽ chỉ ra loại codec file đó sẽ sử dụng, bao gồm: .WMV .RM .RMVB .MPG .MPEG .MOV - Loại đuôi tập tin không chỉ đính xác ra loại codec file đó sẽ sử dụng, chỉ thể hiện đó là file media: .AVI .MKV .OGM .MP4 (còn rất nhiều loại nữa nhưng không phổ biến) Nhưng, cả hai loại trên có một điểm chung - chúng chỉ là các container để chứa nội dung mà thôi, còn việc nội dung đó như thế nào, cách ghi ra làm sao chỉ khi trình media player mở ra và đọc nó sẽ biết file đó sử dụng codec gì. Nói cách khác, các file media đều thuộc loại thứ 2 - đuôi tập tin chỉ nói lên chúng là file media mà thôi. Lấy VD: file "fatcat.avi" là file container, trong đó bao gồm một đoạn video được nén với codec DivX và âm thanh nén với MP3. Cả video và âm thanh có độ dài như nhau. Khi mở file này, Media player sẽ dùng codec DivX để giải mã video và codec MP3 để giải mã âm thanh, phát chúng cùng một lúc để tạo thành bộ phim có cả hình lẫn tiếng. Từ lý thuyết trên, luận ra rằng: nếu định làm đĩa hình VCD thì cần convert video ra dạng MPEG-1 và MPEG-2 nếu định làm DVD video. MPEG-4 MPEG-4 là một chuẩn nén video được phát triển bởi một nhóm gọi là "Moving Picture Experts Group" (hay gọi là MPEG). MPEG-4 được biết đến như là một "chuẩn nén của hình ảnh & âm thanh bit-rate thấp". Có rất nhiều chuẩn được phát triển bởi nhóm này và đã được chấp nhận bởi tố chức tiêu chuẩn quốc tế (ISO - International Standards Organization) hay còn gọi là chuẩn-ISO ^^" MPEG-4 là chuẩn-ISO/IEC #14496. Vì XviD đi theo chuẩn MPEG-2 part 2 nên nó còn được biết đến như là MPEG-4 chuẩn ISO #14496-2 (chuẩn mới nhất của MPEG-4 đó là MPEG-4 part 10/AVC (Advanced Video Coding) hay còn gọi là H.264) Thực tế, MPEG-4 là một chuẩn nén video với rất nhiều các phần mở rộng mà đặc biệt được thiết kế để đạt tới chất lượng cao nhất của chuẩn nội dung video. Chuẩn nội dung ở đây là chuẩn trong các video trong thế giới thật, nó không được thiết kế để nén video dựng bởi trình 3D, phim hoạt hình trên TV thông thường hay là anime (đó là lý do tại sao các video thuộc thể loại trên nén không tốt lắm khi sử dụng MPEG-4) Các chuẩn codec thông thường thuộc họ MPEG-4 là DivX, 3ivx, Quicktime MPEG4 và XviD. Mặc dù chúng là họ hàng với nhau, tuy nhiên một phim được nén bởi một trong các codec trên sẽ không thể được giải mã bằng codec anh em của nó. Vì giữa chúng vẫn có những điểm khác nhau cơ bản không thể thay thế. Lấy ví dụ bằng việc xử lý tập tin video có nhiều hơn 1 tỷ frame - đó là việc mà DivX không thể thực hiện được, trong khi XviD lại có thể. Ví dụ khác sẽ là XviD có đến 3 điểm warppoint GMC (Global Motion Compensation) trong khi DivX chỉ có 1 điểm - điều này dẫn đến sự khác biệt trong cấu trúc phần cứng để có thể giải mã được đoạn video được nén bằng codec DivX hay XviD (phần cứng để giải mã DivX sẽ nhẹ nhàng hơn). Có một số đầu đọc DVD phù hợp chuẩn MPEG-4 có thể đọc được video DivX. Để mở rộng khả năng đọc các chuẩn MPEG-4 khác sẽ không khó khăn mấy. Việc này chỉ cần được thực hiện bằng một số thay đổi nhỏ trong EEPROM liên kết với bộ xử lý video của đầu đọc - hay nói cách khác là flash lại bộ EEPROM của đầu đọc. Kỹ hơn về MPEG-4, các lý thuyết cơ bản Để có thể nén được 2h video chất lượng cao mà chỉ nhỏ để đút vừa một đĩa CD đòi hỏi cả một thuật toán phức tạp. MPEG-4 làm việc này bằng cách bỏ bớt những thông tin mà người xem không cảm nhận được bằng cách biến đổi dữ liệu về các điểm ảnh trên video thành công thức toán học gần giống với đoạn dữ liệu đó. Việc biến đổi này gần giống nhau đến mức con người bình thường sẽ rất khó có thể nhận ra sự khác biệt giữa video nguồn và video kết quả (tất nhiên, đó chỉ là lý thuyết). Đầu tiên, mảng màu của khung hình ban đầu sẽ được biến đổi thành một mảng màu đặc biệt được gọi là YV12. Mắt người thông thường kém nhạy cảm với các màu sắc hơn là với các mức độ sáng tối (liếc nhìn thật nhanh qua bầu trời, bạn sẽ cảm nhận rõ nhất trời sáng hay trời tối hơn là bầu trời có màu gì). Chính vì vậy, MPEG-4 đánh giá độ sáng tối của hình ảnh quan trọng hơn là màu sắc. Điều này đem đến một kết quả là độ sáng tối được ghi lại trong mỗi pixel còn thông tin màu sắc sẽ chỉ được ghi lại sau mỗi 4 pixel. Trong các codec phổ biến hiện nay, có thể kể đến DivX, XviD và H.264 Ngoài ra còn một số đối thủ cũng khá cạnh tranh khác (có điều cung cách phát triển ích kỷ) là Real Media và Window Media Audio/Video. DivX Một codec nổi tiếng và rất rất phổ biến trong nhóm MPEG-4, có thể coi đã lên dạng lão làng khi có khá nhiều đầu đọc DVD đọc luôn cả DivX. So sánh giữa chuẩn MPEG-2 và DivX thì chất lượng có thể coi là như nhau có điều DivX trội hơn ở bit-rate thấp, điều này đồng nghĩa với việc chúng ta có thể có một đoạn phim tương tự DVD video nhưng nhẹ hơn chỉ cỡ bằng 1/2 của DVD video. Tuy phổ biến như vậy nhưng so với các codec chị em của nó gần đây thì DivX bắt đầu tỏ ra yếu thế, đặc biệt là trước XviD và H264 và một số codec đang phát triển khác. DivX homepage: http://www.divx.com DivX codec download: http://www.divxmovies.com/codec XviD Xvid là một codec theo chuẩn MPEG-4. Nó có thể nén một file video thành những dữ liệu theo chuẩn của MPEG-4 và có thể được lưu trữ dưới dạng .AVI .OGM .MP4 hay khác. Bản thân codec này không thể tự nén video mà nó phải nhờ một công cụ khác giúp nó, VD đó có thể là trình VirtualDub. Thông thường một codec sẽ đi kèm cả Decoder và Encoder, nhưng cũng có trường hợp một bộ cài chỉ có Decoder mà thôi - với bộ cài đó bạn chỉ có để xem phim dùng codec đó mà không thể nén phim bằng codec đó. Bộ filter chỉ có decoder có thể kể đến là Nic's decoder filter. Xvid codec là một dự án mã nguồn mở GNU-GPL. Nghĩa là mã nguồn của nó có thể được download bởi bất kỳ ai và chỉnh sửa theo bất kỳ ý thích nào của họ. XviD là chuỗi kí tự viết ngược của DivX (phát triển bởi một công ty thương mại) - có lẽ nó giống như một sự thách thức với codec DivX. Sự thật cho thấy XviD vượt trội về chất lượng nén hơn hẳn DivX. XviD homepage: http://www.xvid.org XviD codec download: http://www.koepi.org/XviD-1.1.2-01112006.exe (ver1.1.2 stable) RM/RMVB Codec rất quen thuộc và phổ biến nhất TQ, nếu bạn bắt gặp 1 phim bộ tiếng Hoa bất kỳ được share trên mạng, thì chắc chắn rằng 99% sẽ là dạng rmvb. Đây là codec riêng từ RealOne. Loại này cho ra ảnh phim rõ nét, sáng đẹp và dung lượng của file khá nhỏ, đặc biệt có chút nhỉnh hơn AVI nếu như là rip từ DVD Phải nói coi 1 tập phim dạng rmvb - dvd rip thật chẳng thua gì DVD chính hiệu, rất tuyệt vời ! H.264 H264 là một codec thật sự ấn tượng. Lần đầu tiên mình chứng kiến sức mạnh của H264 là từ một đoạn anime dài 24 phút, cỡ 704x400 pixel với âm thanh MP3 128kbps mà chỉ có 76.2MB (video bit-rate là 301kbps) - chất lượng của nó gần bằng đoạn anime tương tự như thế nén với DivX nhưng nặng vào cỡ 233MB. Lần thứ hai là chính tay mình nén một đoạn video 3 phút từ MPEG-1 (gốc) nặng 116MB ra H264 (nặng 32MB) - thật sự mà nói thì xem bản H.264 còn đẹp hơn cả bản gốc T_T Nguyên nhân của sự kỳ cục ấy là do H.264 sử dụng một thuật toán nào đó làm mờ đi các chi tiết mà nó thật sự cần thiết trong các khung hình. Nó giống như là được de-cube, xoá nhoà các vết ô vuông của codec MPEG-1 tạo ra vậy. Thật sự ấn tượng. Hiện có một project giúp H264 đến người sử dụng miễn phí đó là compressor/decompressor x264. Có thể xem thêm về nó tại: http://www.videolan.org/developers/x264.html VP60, VP72 Dòng codec mới nổi lên với kết quả được đánh giá là nổi trội nhất hiện nay có điều nó đang phát triển, chưa hoàn chỉnh. Nhưng rất có thể chỉ một thời gian nữa thì VP72 sẽ là đối thủ nặng ký nhất đối với H264 và XviD. Riêng DivX và gì gì khác cho về hưu luôn bây giờ kẻo trễ. Thông tin về codec này mình chưa nắm nhiều lắm, nhưng chắc sẽ phải tìm hiểu thêm về nó để theo kịp thời đại ^^" Lựa chọn Để chọn codec nào hay nhất thực ra cũng có nhiều thứ tác động đến quyết định. Nhưng có thể nhận xét ngay rằng, việc chọn codec càng ít phổ biến thì việc edit/playback càng trở nên khó khăn. Như bên TQ thì toàn chơi RealMedia chẳng hạn Chương trình XEM video Các bạn mới chưa quen đôi lúc gặp khó khăn khi xem một số dạng phim. Để giúp các bạn tìm kiếm cách giải quyết thích hợp, mình xin gợi ý như sau: Để biết tương đối chính xác định dạng phim, các bạn có thể nhìn vào đuôi (extension hay phần đứng sau dấu chấm) của tệp phim. Để biết chính xác định dạng phim, bạn có thể dùng một tiện ích nhỏ có tên là Gspot. Có thể lấy tại đây. Với dạng WMV thông thường bạn sẽ không gặp bất kỳ một khó khăn nào bởi vì định dạng phim này đuợc Windows Media Player vốn đi liên với Windows hỗ trợ hoàn toàn đầy đủ. Tuy nhiên, dạng phimg WMV nhìn chung xấu hơn các dạng MPEG và AVI vì thường có bitrate thấp. Đổi lại, tệp phim WMV thường nhẹ, thời gian upload và download nhanh, phù hợp với những bạn có đường truyền Internet không cao và không có đòi hỏi cao về chất lượng phim. Dạng phim MPEG có thể chia làm hai là Mpeg 1 và Mpeg 2. Dạng Mpeg 1 thường dùng để làm các đĩa VCD mà các bạn thấy rất nhiều trên thị trường Trung Quốc và Việt Nam. Dạng này có chất lượng hình ảnh tương đối tốt nhưng kích thước của tệp nặng hơn của tệp phim dạng WMV. Nói chung với dạng Mpeg 1 các bạn cũng không có gì khó khăn đáng kể bời vì Windows Media Player có sẵn trên máy của bạn hỗ trợ đầy đủ dạng Mpeg 1 này. Dạng Mpeg 2 thường dùng để làm các đĩa SVCD chất lượng cao và đĩa DVD. Các bạn thông thường bắt đầu gặp khó khăn với dạng Mpeg 2 này do Windows Media Player tuy có hỗ trợ Mpeg 2 nhưng với điều kiện các bạn phải có codec (compressor/decompressor) tương thích. Nếu trên máy tính của các bạn có cài sẵn các chương trình chuyên dùng để xem đĩa DVD như Power DVD hay InterVideo các bạn đã có sẵn bộ codec tương thích để đọc dạng phim Mpeg 2 này. Dạng AVI mà các bạn gặp bao gồm hai định dạng là DivX và Xvid. Đây là dạng phim nén có chất lượng khá cao mặc dù có kích thước tệp khá nhỏ. Chính vì đây là dạng nén cao nên cũng có đòi hỏi cao về tốc độ của máy tính, hay nói đúng ra là tốc độ của CPU. Các bạn gặp khó khăn khi xem phim ở định dạng AVI (thường là có tiếng mà không có hình) vì các bạn chưa có codec tương thích. Các bạn có thể tải bộ codec DivX tại đây. Bộ codec này cho phép các bạn xem được cả hai dạng phim DivX và Xvid. Tuy nhiên, với định dạng Xvid các bạn vẫn có thể gặp khó khăn (phim không có hình) ngay khi đã cài bộ codec DivX. Trong trường hợp đó, các bạn cần cài thêm bộ codec Xvid có thể lấy tại đây. Nếu sau đó các bạn vẫn chưa xem được hoàn chỉnh (phim có hình nhưng không có tiếng) đó là vì tệp phim sử dụng hệ thống tiếng AC3 chứ không phải Mp2 hay Mp3 thông thường. Trong trường hợp này, các bạn cần cài thêm bộ lọc AC3 có thể lấy tại đây. Dạng tiếp theo là RM/RMVR. Đây là dạng phim của Real Media. Để xem được dạng phim này, các bạn cần cài đặt chương trình Real Player có thể tải tại đây. Dạng cuối cùng là DAT. Các bạn thường gặp dạng DAT khi người chiếu phim chép trực tiếp từ các đĩa VCD/SVCD. Dạng DAT trên thực tế không khác Mpeg là bao. Chính vì vậy nếu máy tính của bạn đọc được Mpeg1/2 thì cũng đọc được DAT. Các bạn có thể dùng các máy đọc thông thường để xem phim dạng DAT. Để đơn giản hóa mọi chuyện, các bạn có thể lựa chọn một trong hai cách sau: 1. Sử dụng bộ codec tổng hợp K Lite Codec có thể lấy tại đây. Bộ codec này cho phép bạn có thể xem đầy đủ các dạng phim thông thường. 2. Sử dụng "đầu máy" đa di năng. Thông dụng nhất là VLC player, lấy tại đây hoặc Windows Media Classic (có sẵn trong bộ K Lite Codec) hoặc tải riêng lẻ tại đây. Riêng với dạng DivX và Xvid, đầu đọc được xem là tốt nhất là BSPlayer có thể tải tại đây. . http://www.koepi.org/XviD -1. 1.2- 011 12006.exe (ver1 .1. 2 stable) RM/RMVB Codec rất quen thuộc và phổ biến nhất TQ, nếu bạn bắt gặp 1 phim bộ tiếng Hoa bất kỳ được share trên mạng, thì chắc chắn rằng 99% sẽ là dạng. của tệp phim dạng WMV. Nói chung với dạng Mpeg 1 các bạn cũng không có gì khó khăn đáng kể bời vì Windows Media Player có sẵn trên máy của bạn hỗ trợ đầy đủ dạng Mpeg 1 này. Dạng Mpeg 2 thường. đọc dạng phim Mpeg 2 này. Dạng AVI mà các bạn gặp bao gồm hai định dạng là DivX và Xvid. Đây là dạng phim nén có chất lượng khá cao mặc dù có kích thước tệp khá nhỏ. Chính vì đây là dạng