Tìm kiếm video HTML5 không hoạt động

Dự án là một loại mô phỏng video tương tác tương tự như sê-ri Bandersnatch của Netflix. Câu chuyện đi theo sự lựa chọn của người dùng. thêm cà chua hoặc dưa chua, chọn bánh mì brioche hoặc bánh mì cổ điển, trang trí với trứng hoặc sốt bơ hay chỉ cần bỏ qua, v.v. Bạn hiểu ý…

Nó được gọi là "Ya Sen Yapsan", có nghĩa là "Nếu bạn làm điều đó" trong tiếng Thổ Nhĩ Kỳ. Bạn có thể thử nó từ đây. Nó bằng tiếng Thổ Nhĩ Kỳ, vì vậy đừng ngạc nhiên 🙃

Bài viết này sẽ là phần giới thiệu về HTML5 Video. Bắt đầu nào

1. Nó là gì, thực sự?

Phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 được sử dụng để phát video hoặc phim và chỉ định video trên tài liệu HTML. Ví dụ: bạn có thể nhúng video nhạc vào trang web của mình để khách truy cập nghe và xem. Nó hiện được triển khai rộng rãi trong các trình duyệt chính và phụ và nó có sự hỗ trợ từ các trang web như YouTube và Netflix

Nó chấp nhận các thuộc tính chỉ định cách phát video. Các thuộc tính bao gồm

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3,
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
4,
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
5,
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
6 và hơn thế nữa. Chúng tôi sẽ đề cập đến những điều này sau này

Đây là một ví dụ nhanh để sử dụng nó

orconst video = document.createElement('video');
video.src = "foo.mp4";
document.body.appendChild(video);

Đó là nó. Miếng bánh, phải không?

2. Hỗ trợ trình duyệt

Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2. Xem bên dưới để biết danh sách đầy đủ các trình duyệt được hỗ trợ

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝

Xem tại đây để được hỗ trợ trình duyệt chi tiết hơn

3. nguồn

Bạn có thể xác định nhiều nguồn bằng cách sử dụng phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
8 làm dự phòng trong trường hợp trình duyệt của người dùng không hỗ trợ một trong số chúng. Ví dụ

Ghi chú. Sắp xếp các nguồn dưới dạng webm, sau đó là ogg và sau đó là mp4, vì mp4 được hỗ trợ rộng rãi hơn từ các trình duyệt. Đó là một cách thực hành tốt để sử dụng nó khi phát lại

Bất kỳ văn bản nào giữa các thẻ

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 và
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
10 sẽ được hiển thị trong các trình duyệt không hỗ trợ phần tử
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2. Ví dụ

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3

Khi trình duyệt phân tích cú pháp thẻ

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
8, nó sẽ sử dụng thuộc tính loại tùy chọn để giúp quyết định tải xuống và phát tệp nào. Nếu trình duyệt hỗ trợ WebM, nó sẽ phát video WebM, nếu không, nó sẽ kiểm tra xem nó có thể phát video MPEG-4 hay không, v.v.

Ghi chú. Nếu bạn đang sử dụng phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
13, tôi khuyên bạn nên thêm thuộc tính
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
14 vào phần tử đó. Bằng cách này, trình duyệt có thể ngay lập tức bỏ qua một định dạng mà nó không hỗ trợ mà không cần cố gắng phát nó và gây lãng phí tài nguyên

4. Định dạng và hỗ trợ trình duyệt

4. 1. MP4

Định dạng bộ chứa MP4 với H. 264 và codec âm thanh AAC vốn được hỗ trợ bởi máy tính để bàn/thiết bị di động Internet Explorer, Safari và Chrome, nhưng Chromium và Opera không hỗ trợ định dạng. IE và Chrome cũng hỗ trợ codec âm thanh MP3 trong bộ chứa MP4, nhưng Safari thì không. Firefox/Firefox cho Android/Firefox OS hỗ trợ định dạng này trong một số trường hợp, nhưng chỉ khi có sẵn bộ giải mã của bên thứ ba và phần cứng của thiết bị có thể xử lý cấu hình được sử dụng để mã hóa MP4

Xem tại đây để được hỗ trợ trình duyệt chi tiết hơn

4. 2. WebM

Định dạng WebM dựa trên phiên bản hạn chế của định dạng vùng chứa Matroska. Nó luôn sử dụng codec video VP8 hoặc VP9 và codec âm thanh Vorbis hoặc Opus. WebM vốn được hỗ trợ trên máy tính để bàn và thiết bị di động Gecko (Firefox), Chrome và Opera, đồng thời hỗ trợ cho định dạng này có thể được thêm vào Internet Explorer và Safari (nhưng không phải trên iOS) bằng cách cài đặt một tiện ích bổ sung

Xem tại đây để được hỗ trợ trình duyệt chi tiết hơn

4. 3. Ogg

Định dạng bộ chứa Ogg với bộ giải mã video Theora và bộ giải mã âm thanh Vorbis được hỗ trợ trong máy tính để bàn/thiết bị di động Gecko (Firefox), Chrome và Opera và có thể thêm hỗ trợ cho định dạng này vào Safari (nhưng không phải trên iOS) bằng cách cài đặt một tiện ích bổ sung . Định dạng không được hỗ trợ trong Internet Explorer dưới bất kỳ hình thức nào

Xem tại đây để được hỗ trợ trình duyệt chi tiết hơn

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
  • * Từ 25+
5. codec

Bạn có thể coi tệp video là một vùng chứa (chẳng hạn như tệp ZIP), chứa luồng video được mã hóa và luồng âm thanh. Có nhiều loại định dạng vùng chứa khác nhau và thật không may, không có một định dạng 'một vòng' nào hoạt động trên tất cả các trình duyệt

Rất may, chúng tôi có thể phủ sóng cho tất cả các trình duyệt hiện đại (và di động) chỉ bằng hai định dạng

  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    15 thường đóng gói âm thanh Vorbis hoặc Opus với video VP8/VP9. Điều này được hỗ trợ trong tất cả các trình duyệt hiện đại, mặc dù các phiên bản cũ hơn có thể không hoạt động
  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    16 thường đóng gói âm thanh AAC hoặc MP3 với H. 264 video. Điều này được hỗ trợ cũng được hỗ trợ trong tất cả các trình duyệt hiện đại, cũng như Internet Explorer
  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    17 có xu hướng sử dụng âm thanh Vorbis và video Theora. Điều này được hỗ trợ tốt nhất trong Firefox và Chrome nhưng đã được thay thế bằng định dạng WebM chất lượng tốt hơn

5. 1. Các giá trị phổ biến với codec

  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    18. codec=”theora, vorbis”
  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    19. codec=”avc1. 4D401E, mp4a. 40. 2"
  • ╔═══════════╦═════════╦════════╦════════╗
    BrowserMP4WebM Ogg
    ╠═══════════╬═════════╬════════╬════════║
    ║ IE ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Chrome ║ + ║ - ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Firefox ║ + ║ + ║ + ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Safari ║ + ║ - ║ - ║
    ╠═══════════╬═════════╬════════╬════════╣
    ║ Opera ║ +* ║ + ║ + ║
    ╚═══════════╩═════════╩════════╩════════╝
    30. codec=”vp8. 0, xoáy”
6. Hỗ trợ phát hiện

Phương thức

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
31 kiểm tra và trả về một chuỗi xem trình duyệt có thể phát loại video được chỉ định hay không

Nó có thể trả về một trong các giá trị sau

  • "có thể". Trình duyệt rất có thể hỗ trợ loại video này
  • "có lẽ". Trình duyệt có thể hỗ trợ loại video này
  • “” (chuỗi rỗng). Trình duyệt không hỗ trợ loại video này

Đây là một ví dụ

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
17. Mảnh phương tiện

Thêm một đoạn phương tiện vào URL phương tiện, bạn có thể chỉ định chính xác phần bạn muốn phát. Để thêm một đoạn phương tiện, bạn chỉ cần thêm

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
32 vào URL phương tiện. Ví dụ: để phát video trong khoảng thời gian từ giây 8 đến giây 15, bạn sẽ chỉ định

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3

Bạn cũng có thể chỉ định thời gian trong

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
33, chẳng hạn như
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
34 để bắt đầu video ở phút mười sáu, hai mươi ba giây trong

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
0

Hoặc, để chỉ phát phút thứ tư của video, bạn sẽ chỉ định

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
35

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
28. phương pháp

Các phương thức có thể được sử dụng với phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 được liệt kê bên dưới

8. 1. canPlayType(định dạng)

Bạn đã biết rằng tôi đã đề cập đến nó trong phần. “6. Hỗ trợ phát hiện”

8. 2. trọng tải()

Nó tải lại phần tử video và đặt lại đầu phát về đầu video

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
4

8. 3. chơi()

Nó phát video từ vị trí hiện tại của nó

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
0

8. 4. tạm ngừng()

Nó tạm dừng video ở vị trí hiện tại

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
19. Thuộc tính

Bạn có thể tìm thấy các thuộc tính có thể được sử dụng với phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 bên dưới

9. 1. tự chạy

Cho trình duyệt biết liệu một video có nên bắt đầu phát ngay khi nó sẵn sàng hay không. Nếu bạn không chỉ định, nó sẽ lấy false làm mặc định

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
2

hãy nhận biết. Chính sách tự động phát của Chrome được thay đổi vào tháng 4 năm 2018. Nó đơn giản. Nếu bạn muốn bắt đầu video ngay lập tức (sử dụng thuộc tính tự động phát), thì bạn cũng nên bao gồm thuộc tính tắt tiếng hoặc người dùng phải tương tác với video trước (nhấp, nhấn, v.v. ). Nó rất hợp lý khi bạn nghĩ từ quan điểm của người dùng. Bởi vì, bạn biết đấy, không ai muốn bối rối với âm thanh lớn khi vào một trang web

9. 2. điều khiển

Yêu cầu trình duyệt bao gồm các điều khiển video tích hợp như phát/tạm dừng, âm lượng, v.v. Nếu bạn không chỉ định, nó sẽ mặc định là false, nghĩa là không có điều khiển nào được hiển thị

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
3

9. 3. danh sách điều khiển

Sử dụng

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
38, bạn có thể tùy chỉnh (ẩn) các điều khiển phương tiện gốc của Chrome, chẳng hạn như các nút tải xuống, toàn màn hình và phát lại từ xa (chỉ dành cho Chrome 58+). Nó có thể bao gồm các thuộc tính nodownload, nofullscreen và noremoteplayback

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
4

9. 4. nguồn gốc chéo

Nó cho biết có sử dụng CORS để tìm nạp nội dung liên quan hay không

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
5

9. 5. Chiều cao

Đặt hoặc lấy giá trị thuộc tính chiều cao của video bằng pixel CSS để kiểm soát lượng chiều cao mà video sẽ chiếm trên trang

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
6

9. 6. vòng

Nó cho trình duyệt biết liệu video có nên phát lại hay không, mỗi khi nó kết thúc. Nếu bạn không chỉ định, nó sẽ lấy false làm mặc định

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
7

9. 7. tắt tiếng

Đặt hoặc nhận xem có nên tắt âm thanh của video hay không. Nếu bạn không chỉ định, nó sẽ lấy false làm mặc định

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
8

9. 8. playsinline — webkit-playsinline

Thuộc tính boolean chỉ ra rằng video sẽ được phát "nội tuyến", nằm trong khu vực phát lại của phần tử. Xem tại đây để biết thông tin chi tiết

╔══════════╦════════╦═══════════╦═════════╦═══════╗
ChromeIEFirefoxSafariOpera
╠══════════╬════════╬═══════════╬═════════╬═══════╣
║ 4.0 ║ 9.0 ║ 3.5 ║ 4.0 ║ 10.5 ║
╚══════════╩════════╩═══════════╩═════════╩═══════╝
9

9. 9. poster

Đặt hoặc nhận giá trị thuộc tính áp phích của video. Bạn có thể coi thuộc tính poster như một vị cứu tinh cho phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 của mình. Nếu video ngừng phát hoặc gặp sự cố, hình ảnh áp phích sẽ được hiển thị. Hoặc nếu tệp của phần tử video không hỗ trợ trong trình duyệt, hình ảnh áp phích sẽ được hiển thị lại. Hoặc, nếu bạn muốn hiển thị video đang tải/đệm, thì sử dụng gif đang tải trong thuộc tính người đăng sẽ hợp lý

Ghi chú. Việc không có thuộc tính này không có nghĩa là video sẽ luôn được phát ở chế độ toàn màn hình

0

9. 10. tải trước

Nó dự định cung cấp một gợi ý cho trình duyệt về những gì mà UA nghĩ sẽ dẫn đến trải nghiệm người dùng tốt nhất. Đặt hoặc nhận giá trị của thuộc tính tải trước của video. Nếu bạn không chỉ định thì giá trị của nó phụ thuộc vào mặc định của trình duyệt

  • không ai. Nó báo cho trình duyệt KHÔNG nên tải video khi tải trang
  • metadata. Nó báo cho trình duyệt chỉ nên tải siêu dữ liệu khi tải trang
  • Tự động. Nó cho trình duyệt tải toàn bộ video khi tải trang
1

Ghi chú.

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
00 giống như
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
01

9. 11. src

Nó cho trình duyệt biết video sẽ phát từ nguồn nào/nguồn nào. Nó có thể là tài nguyên cục bộ trong trang web của bạn hoặc thứ gì đó được hiển thị thông qua URL công khai

2

9. 12. âm lượng

Đặt hoặc lấy âm lượng của video. Nếu bạn không chỉ định, nó sẽ lấy 1 làm mặc định

3

9. 13. bề rộng

Đặt hoặc nhận giá trị của thuộc tính chiều rộng của video bằng pixel CSS để kiểm soát lượng chiều rộng mà video sẽ chiếm trên trang

410. Đặc tính

Các thuộc tính được sử dụng chủ yếu với phần tử

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 được liệt kê bên dưới

10. 1. hiện tạiSrc

Trả về URL của video hiện tại

5

10. 2. thời điểm hiện tại

Đặt hoặc nhận vị trí phát lại hiện tại trong video (tính bằng giây)

6

10. 3. khoảng thời gian

Trả về một số, biểu thị thời lượng của video, tính bằng giây. Nếu không có video nào được đặt, thì “NaN” được trả về. Nếu video được phát trực tuyến và không có độ dài được xác định trước, "Inf" sẽ được trả về

7

10. 4. đã kết thúc

Trả về việc phát lại video đã kết thúc hay chưa

8

10. 5. lỗi

Trả về trạng thái lỗi của video

  • 1 = MEDIA_ERR_ABORTED. Quá trình tìm nạp bị người dùng hủy bỏ
  • 2 = MEDIA_ERR_NETWORK. Đã xảy ra lỗi khi tải xuống
  • 3 = MEDIA_ERR_DECODE. Xảy ra lỗi khi giải mã
  • 4 = MEDIA_ERR_SRC_NOT_SUPPORTED. Video không được hỗ trợ
9

10. 6. tạm dừng

Trả về việc video có bị tạm dừng hay không

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
30

10. 7. tốc độ phát lại

Đặt hoặc lấy tốc độ phát lại video. Nếu bạn không chỉ định, nó sẽ lấy 1 làm mặc định

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
31

10. 8. chơi

Trả về một đối tượng TimeRanges đại diện cho các phần đã phát của video

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
32

10. 9. trạng thái sẵn sàng

Trả về trạng thái sẵn sàng hiện tại của video

  • 0 = CÓ_KHÔNG CÓ GÌ. Không có thông tin liệu video đã sẵn sàng hay chưa
  • 1 = CÓ_METADATA. Siêu dữ liệu cho video đã sẵn sàng
  • 2 = CÓ_CURRENT_DATA. Có sẵn dữ liệu cho vị trí phát lại hiện tại, nhưng không đủ dữ liệu để phát khung hình/mili giây tiếp theo
  • 3 = CÓ_FUTURE_DATA. Dữ liệu cho khung hiện tại và ít nhất là khung tiếp theo có sẵn
  • 4 = CÓ_ĐỦ_DỮ LIỆU. Có đủ dữ liệu để bắt đầu chơi
╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3311. Sự kiện

11. 1. có thể chơi

Kích hoạt khi trình duyệt có thể bắt đầu phát video

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
34

11. 2. có thể chơi qua

Kích hoạt khi trình duyệt có thể phát đến hết video mà không dừng để lưu nội dung vào bộ đệm

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
35

11. 3. đã kết thúc

Kích hoạt khi video kết thúc vì đã đến cuối phương tiện

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
36

11. 4. cập nhật thời gian

Kích hoạt khi thời gian hiện tại của video bị thay đổi

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3712. Thực hành tốt nhất

Việc thêm video vào trang web của bạn đôi khi có thể gây khó chịu. Người dùng yêu thích các video có độ phân giải cao, nhưng nếu trang web của bạn không được tối ưu hóa để xử lý chúng, nội dung đó có thể gây ra các vấn đề về hiệu suất

Dưới đây là một vài lời khuyên

  • Không gửi video 1080p tới thiết bị di động như điện thoại. Điều đó không có ý nghĩa gì nhiều, video có thể sẽ quá lớn so với màn hình và băng thông cần thiết để gửi video có thể sử dụng rất nhanh tất cả kết nối dữ liệu hạn chế của người dùng. Thay vào đó hãy sử dụng 720p hoặc 480p
  • Sử dụng CDN. CDN là một mạng lưới các máy chủ lưu trữ các bản sao được lưu trong bộ nhớ cache của nội dung tĩnh trên trang web của bạn. Ngoài việc cải thiện khả năng dự phòng, CDN đảm bảo phân phối nội dung nhanh hơn vì nội dung được cung cấp từ máy chủ biên gần nhất. Điều này rất cần thiết cho các tệp lớn như video. Bằng cách đó, người dùng không phải đợi video của bạn tải xuống và lưu vào bộ nhớ đệm mãi mãi
  • Cung cấp cả hai loại tệp nguồn tiêu chuẩn (MP4) và cạnh (WebM). Bạn thưởng cho những người dùng có ứng dụng khách có khả năng nén và chất lượng nâng cao (WebM) nhưng cung cấp dự phòng cho các định dạng được hỗ trợ rộng rãi (MP4)
  • Xóa âm thanh khỏi video bị tắt tiếng. Nếu bạn có một video bị tắt âm thanh, bạn có thể xóa dữ liệu âm thanh khỏi tệp video để tiết kiệm kích thước của video
  • Sử dụng các công cụ nén dữ liệu. Các công cụ nén dữ liệu như Blazemp và HandBrake giảm kích thước tệp video mà không làm giảm chất lượng hình ảnh. Các tệp phương tiện nhỏ hơn tải nhanh hơn, vì vậy bạn có thể tiết kiệm cho người dùng một lượng lớn thời gian bằng cách nén tất cả các video của mình
  • Sử dụng hình ảnh áp phích. Một hình ảnh áp phích có thể được hiển thị cho đến khi bắt đầu phát lại. Điều này mang đến cho người xem ý tưởng có ý nghĩa về nội dung mà không cần tải xuống video hoặc bắt đầu phát lại
  • Chỉ định kích thước video. Trong HTML hoặc CSS của bạn, hãy nhớ xác định chiều rộng và chiều cao của video để trình duyệt có thể phân bổ băng thông cần thiết mà không cần thực hiện thêm
13. Định tâm video

Căn giữa

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
2 có thể gây khó chịu nếu bạn đang cố gắng làm cho nó phản hồi nhanh cho cả máy tính để bàn, thiết bị di động hoặc máy tính bảng, v.v. Đừng lo lắng, bạn có thể tìm thấy bản demo bên dưới chỉ bằng CSS

Sẽ có một video và phần gốc của video đó dưới dạng vùng chứa để tạo kiểu

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
38

Sau đó sử dụng các lớp trong chế độ xem của bạn

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
3914. Kiểm soát toàn màn hình

Nếu bạn đang tự lập kế hoạch điều khiển chế độ toàn màn hình, bạn không nên quên hành vi của tất cả các trình duyệt, vì các chức năng gốc trong mỗi trình duyệt là khác nhau. Đây là hai đoạn mã nhanh để vào và thoát khỏi chế độ toàn màn hình

Nhập toàn màn hình

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
0

Thoát khỏi chế độ toàn màn hình

╔═══════════╦═════════╦════════╦════════╗
BrowserMP4WebM Ogg
╠═══════════╬═════════╬════════╬════════║
║ IE ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Chrome ║ + ║ - ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Firefox ║ + ║ + ║ + ║
╠═══════════╬═════════╬════════╬════════╣
║ Safari ║ + ║ - ║ - ║
╠═══════════╬═════════╬════════╬════════╣
║ Opera ║ +* ║ + ║ + ║
╚═══════════╩═════════╩════════╩════════╝
115. Thưởng. HandBrake — Bộ chuyển mã video mã nguồn mở

HandBrake là một công cụ để chuyển đổi video từ gần như bất kỳ định dạng nào sang một bộ codec hiện đại, được hỗ trợ rộng rãi. Bạn có thể tải trực tiếp từ đây

Dưới đây là một vài tính năng tuyệt vời

  1. Bạn có thể chuyển mã nhiều video bằng tính năng quét hàng loạt và xếp hàng mã hóa
  2. Hỗ trợ nhiều cài đặt trước
  3. Mã hóa video chất lượng không đổi hoặc tốc độ bit trung bình
  4. Nó cũng đang tích cực duy trì trên GitHub
  5. Kiểm tra tất cả các tính năng ở đây

Ngoài ra, tôi muốn cảm ơn người quản lý Erdem Bıyık của tôi đã đề xuất công cụ miễn phí này để tối ưu hóa video. Điều đó hoạt động rất tốt trong việc tối ưu hóa video (giảm kích thước trong khi vẫn giữ chất lượng, chuyển mã cho thiết bị di động, v.v.) cho trải nghiệm người dùng

Sự kết luận

Trình phát video HTML5 bắt đầu đơn giản nhưng đã phát triển khá tiên tiến (nghĩ YouTube và Netflix) và vì tất cả chỉ là HTML, CSS và JavaScript, bất kỳ nhà phát triển nào cũng có thể tạo trình phát ấn tượng. Bao gồm video trên web hiện đại dễ dàng hơn bao giờ hết và mở ra một số khả năng mới tuyệt vời

Bạn sẽ làm gì bây giờ và tiếp theo?

Không ngừng học tập

Chắc chắn sẽ có một phiên bản nâng cao của bài viết này với nhiều ví dụ. Tôi hy vọng, nó sẽ giúp bạn hiểu và bắt đầu với HTML5 Video. Nếu bạn biết bất kỳ ai sẽ được hưởng lợi từ hướng dẫn này, tôi rất vui nếu bạn giới thiệu nó cho họ. Cảm ơn bạn đã làm theo hướng dẫn này và đọc đến cuối, hẹn gặp lại bạn ở một hướng dẫn khác…