WebM là định dạng tệp video mở mới mà Google đã tạo cho video HTML5. Nó là sự kết hợp của bộ giải mã video VP8 và codec âm thanh Ogg Vorbis, được gói trong một thùng chứa Matroska. Đây là nguồn mở và miễn phí, cho phép mọi người có khả năng mã hóa video mà không bị hạn chế và phát chúng trong các trình duyệt được hỗ trợ (Mozilla Firefox, Google Chrome và Opera).

Thông báo gần đây của Google rằng nó đang giảm hỗ trợ cho video H.264 trong Chrome nghĩa là định dạng video HTML5 chính trên YouTube cuối cùng sẽ là WebM. Bây giờ là cơ hội tuyệt vời để bạn tìm hiểu cách mã hóa video theo định dạng mới. Hơn nữa, H.264 được cấp bằng sáng chế và không mở, vì vậy người dùng Linux nên cố gắng tránh nó, khi có thể.

Hiện tại, Apple và Microsoft tiếp tục chỉ sử dụng H.264 và từ chối đưa WebM hoặc Ogg Theora (cả hai đều hỗ trợ Mozilla, Google và Opera). Vì WebM và Ogg Theora là các định dạng mở, Google đã làm rõ rằng nó sẽ thích những định dạng trên H.264.

Chúng tôi sẽ trình bày hai kỹ thuật khác nhau: (1) Mã hóa dòng lệnh FFMPEG và (2) Mã hóa đồ họa với Bộ chuyển mã Arista .

FFMPEG

Để mã hóa video ở định dạng WebM, bạn sẽ cần ffmpeg phiên bản 0.6 hoặc mới hơn. Nếu bản phân phối của bạn có phiên bản cũ hơn, bạn sẽ cần tải xuống các tệp nhị phân từ một kho lưu trữ thay thế hoặc biên dịch nó từ nguồn. Phiên bản trong kho lưu trữ Ubuntu 10.10 Maverick Meerkat có tích hợp hỗ trợ WebM.

Một khi bạn đã cài đặt và chắc chắn rằng bạn đã hỗ trợ thư viện libvpx, bạn có thể bắt đầu mã hóa. Các hướng dẫn này giả sử bạn muốn mã hóa ở 720p, nhưng bạn có thể thay đổi các cài đặt theo ý muốn.

Trước tiên, hãy kiểm tra xem bạn có cài đặt sẵn libvpx-720p trong / usr / share / ffmpeg hay không . Giả sử bạn không, hãy tạo một tệp trong thư mục đó có tên là " libvpx-720p.ffpreset " và thêm các nội dung sau (chỉnh sửa dưới dạng thư mục gốc):

 vcodec = libvpx g = 120 rc_lookahead = 16 level = 216 tiểu sử = 0 qmax = 42 qmin = 10 vb = 2M # được đăng ký trừ khi sử dụng vượt qua 2 maxrate = 24M minrate = 100k 

Lưu tập tin, và sau đó nhập các lệnh sau, cái sau cái kia:

 ffmpeg -i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass 1 -an -f webm -y output.webm 
 ffmpeg -i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass 2 -acodec libvorbis -ab 100k -f webm -y output.webm 

Thay thế “ input.mp4 ” bằng tên thực của video và “ output.webm ” cùng với tên của video WebM vừa được tạo. Khi cả hai đều kết thúc, bạn sẽ có một video có thể phát, mà bạn có thể kiểm tra trong Mplayer.

Arista

Arista Transcoder cung cấp một giao diện dễ dàng để mã hóa nhanh các tệp video, bao gồm cả WebM. Để sử dụng nó, hãy làm theo các hướng dẫn sau:

1. Chọn nguồn
2. Chọn loại thiết bị
3. Chọn “WebM” làm giá trị đặt trước
4. Nhấp vào “Thêm vào hàng đợi”

Arista sẽ hiển thị cho bạn bản xem trước chuyển tiếp nhanh của video vì nó đang mã hóa và nó sẽ cho phép bạn thêm nhiều công việc vào hàng đợi nếu bạn cần mã hóa nhiều tệp hoặc cùng một tệp ở các định dạng khác nhau.

Cả hai phương pháp đều sẽ cung cấp cho bạn các tệp video sẵn sàng cho YouTube hoặc video HTML5 của trang web của riêng bạn. Trong các thử nghiệm của tôi, mã hóa ffmpeg chậm hơn nhiều nhưng sản xuất chất lượng tốt hơn Arista Transcoder. Tinh chỉnh cái này hay cái kia có thể tạo ra kết quả tốt hơn cho mỗi cái.