Đây là kết quả của việc chuyển sang video HTML5 và các quirks với các codec video được YouTube sử dụng trong Chrome so với các trình duyệt khác. Hãy đồng hành cùng chúng tôi và chúng tôi sẽ giải thích lý do khiến Google phát YouTube trở nên kém hiệu quả ngay từ đầu. Firefox cũng có thể có cùng một vấn đề.
HTML5, H.264, VP8 và VP9
YouTube hiện đã bỏ qua phần lớn trình cắm video Flash để phát lại video HTML5. Nhưng phát lại video HTML5 không được chuẩn hóa. Các trình duyệt có thể chọn codec video nào họ muốn sử dụng và không có một codec duy nhất mà tất cả các trình duyệt đều thích.
Khi YouTube sử dụng Flash, nó sử dụng codec H.264 để phát lại video. Video có codec này thường có đuôi tệp.mp4 và thường được gọi là video MP4. Đây là một tiêu chuẩn toàn ngành trên thực tế ngoài các trình duyệt web.
Safari, Internet Explorer, Microsoft Edge, Chrome và Firefox đều hỗ trợ phát video được mã hóa H.264, mặc dù Firefox đã đào gót và tránh việc này càng lâu càng tốt.
Trong khi Apple và Microsoft chỉ hỗ trợ H.264 để phát lại video trong trình duyệt của họ, Google cũng đã đẩy các codec riêng của mình. Google mua lại codec VP8 và tích hợp nó vào Chrome, và Firefox theo sau. Google hiện đang đẩy codec VP9 thế hệ tiếp theo, hiện được tích hợp vào Chrome và Firefox. Các tệp sử dụng codec này thường có đuôi tệp.webm và đôi khi còn được gọi là tệp WebM.
Tại sao Google tạo VP8 và VP9?
Trong khi H.264 là một chuẩn trên toàn ngành, nó có một vấn đề đáng kể. Các công nghệ cơ bản được bao phủ bởi nhiều bằng sáng chế khác nhau. Để sử dụng những công nghệ này - ví dụ: nếu bạn đang xây dựng chúng thành một sản phẩm - bạn cần phải trả phí cho danh mục đầu tư bằng sáng chế H.264.
Đó là lý do tại sao Mozilla đã tổ chức quá lâu so với H.264 - nó muốn trang web dựa trên tiêu chuẩn mở không yêu cầu bất kỳ khoản phí nào. Google đã phát hành VP8 và VP9 với lời hứa bằng sáng chế không thể hủy ngang, cho phép mọi người làm bất cứ điều gì họ muốn - Google sẽ không cố gắng trích xuất phí bằng sáng chế. Cisco đang thanh toán hiệu quả các khoản phí cấp phép và cung cấp một plug-in miễn phí cho người dùng Firefox. Firefox tự động tải xuống trình cắm này và sử dụng nó để bật hỗ trợ H.264.
VP8 không có lực kéo
Nhưng Google không thành công đặc biệt với VP8. Vào đầu năm 2011, Google tuyên bố sẽ loại bỏ hỗ trợ H.264 khỏi Chrome để chỉ hỗ trợ các codec mở như VP8 và Theora. Hơn bốn năm sau, Google chưa bao giờ làm điều này và chúng tôi chưa từng nghe gì về lời hứa đó kể từ đó.
Mozilla đã có khả năng giữ cho Google để làm theo thông qua lời hứa của mình, nhưng Google không bao giờ có thể - thay vào đó, Mozilla relented và thêm hỗ trợ H.264 năm sau đó. H.264 là codec chuẩn thực tế hiện tại, giống như nó hay không - và, khi sử dụng trình duyệt Apple hoặc Microsoft, đó là trình duyệt duy nhất có sẵn. Đó cũng là lựa chọn thực sự duy nhất cho các trình duyệt di động. Nhiều trang web đã triển khai video HTML5 chỉ hỗ trợ H.264 và Chrome và FIrefox sẽ bị tắt nếu chúng không hỗ trợ H.264.
Vấn đề thực sự: Tăng tốc phần cứng
Có một vấn đề cốt lõi đơn giản ở đây. Giải mã H.264 (phát lại) được tăng tốc phần cứng. Điều này có nghĩa là "công việc" của việc phát tệp video H.264 được thực hiện bởi bộ xử lý đồ họa (GPU) theo cách hiệu quả hơn nhiều. Nếu giải mã phần cứng không có sẵn, CPU sẽ phải thực hiện tất cả công việc theo cách ít hiệu quả hơn. Điều này có nghĩa là phát lại mất ít thời gian CPU hơn, điều đó có nghĩa là ít năng lượng pin bị lãng phí và ít nhiệt hơn được tạo ra. Nó cũng có thể có nghĩa là phát lại mượt mà hơn nếu CPU không thể tiếp tục phát video.
Thực sự, tất cả các phần cứng hiện đại đều hỗ trợ giải mã tăng tốc phần cứng H.264. Điều này bao gồm tất cả các loại điện thoại thông minh, máy tính bảng, PC, Mac và thậm chí cả Chromebook. Khi trình duyệt web - có, ngay cả Chrome - phát video H.264, nó bị tải xuống GPU. Ngay cả khi Adobe Flash hỗ trợ tăng tốc phần cứng của video H.264.
Nhưng không có phần cứng ngoài đó sẽ tăng tốc VP8 và VP9 video. Khi Google công bố VP8 vào giữa năm 2010, một loạt các công ty bao gồm các tên tuổi lớn như nVIDIA, AMD và Qualcomm đã thông báo họ sẽ hỗ trợ VP8 trong các sản phẩm của họ. Nhưng, hơn năm năm sau, không có thiết bị nào đến với giải mã VP8 tăng tốc phần cứng.
Trong thông báo gần đây của Google về VP9, nó ghi nhận rằng “Hơn 20 đối tác thiết bị trên toàn ngành đang tung ra sản phẩm vào năm 2015 và hơn thế nữa khi sử dụng VP9.” Bài viết này cũng lưu ý các ưu điểm khác của VP9, như kích thước tệp nhỏ hơn cho cùng chất lượng. Intel, nVIDIA, AMD và các công ty khác đã cam kết hỗ trợ giải mã phần cứng tăng tốc VP9.
Chúng tôi đã tìm kiếm để tìm phần cứng hỗ trợ giải mã VP9 tăng tốc phần cứng và tất cả những gì chúng tôi thấy là Intel đã phát hành các trình điều khiển Haswell và Broadwell mới cho Windows với "hỗ trợ tăng tốc ardwareardware (sic) một phần" cho VP9 vào đầu năm 2015. Rõ ràng là có rất nhiều nhiều việc phải làm.
Giống như các sự cố hiệu suất khác của Chrome, điều này có thể tệ hơn trên máy Mac. Các kỹ sư Chrome đã đóng một lỗi về việc sử dụng CPU và tạo nhiệt trên MacBook với nhận xét “Việc sử dụng CPU trong khi phát lại VP9 trên máy Mac không phải là lỗi.” Điều đó có thể đúng, nhưng Google có lẽ không nên phân phối tất cả các video VP9 đó cho người dùng Chrome trên máy Mac nếu mức sử dụng CPU cao là bình thường. Điều đó chỉ khuyến khích người dùng Mac sử dụng Safari thay vào đó.
Cách tạo video trên YouTube Play hiệu quả hơn
Đó là vấn đề về gà và trứng, thực sự - các nhà sản xuất sẽ không triển khai VP9 tăng tốc phần cứng cho đến khi nó thực sự được sử dụng trong thế giới thực. Google đã giải quyết vấn đề này bằng cách thêm VP8 và VP9 vào Chrome và yêu cầu YouTube phân phát video VP9 và VP8 cho Chrome. YouTube cũng có thể cung cấp các video VP8 và VP9 cho Firefox.
Điều này có thể tiết kiệm thời gian tải xuống, nhưng điều đó có nghĩa là YouTube tiêu hao nhiều pin hơn và chu kỳ CPU trong Chrome. Trên các thiết bị có CPU đặc biệt chậm, video thậm chí có thể nói lắp thay vì phát lại mượt mà.
Để phát lại hiệu quả hơn, bạn chỉ có thể chuyển sang Safari, Microsoft Edge hoặc Internet Explorer. Nhưng bạn không phải làm vậy. Bạn có thể cài đặt tiện ích mở rộng trình duyệt h264ify cho Chrome, điều này sẽ buộc Chrome yêu cầu video H.264 từ YouTube. Chúng trông giống nhau, nhưng Chrome sẽ phát lại chúng một cách trơn tru hơn.
Tải xuống h264ify cho Chrome, tải h264ify cho Firefox hoặc tham khảo trang dự án tại GitHub để biết thêm chi tiết
Cách xem liệu YouTube có đang sử dụng H.264, VP8 hoặc VP9 hay không
Để kiểm tra xem YouTube đang phân phối codec nào cho trình duyệt của bạn, hãy nhấp chuột phải vào video YouTube trong khi phát lại và chọn “Số liệu thống kê cho các nerds.” Ở bên phải “Mime Type”, bạn sẽ thấy “video / mp4” và “avc” codec cho video H.264 / MP4.
Trong thời gian dài, tính năng đẩy VP9 của Google có thể tốt hơn cho web và dẫn đến phần cứng có thể cung cấp giải mã nhanh bộ mã hóa mới này. Tuy nhiên, hiện tại, bạn có thể muốn tiết kiệm một số thời lượng pin và làm cho máy tính xách tay của bạn chạy hiệu quả hơn là chọn không tham gia thử nghiệm của Google và sử dụng video H.264 thay thế.