Buộc video youtube HTML5


119

Về Blog API Youtube, họ đang thử nghiệm với Trình phát video HTML5 mới của họ .

Rõ ràng để phát video trong html5, bạn phải sử dụng mã nhúng iframe:

<iframe class="youtube-player" type="text/html" width="640" height="385"
  src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0">
</iframe>

Nhưng nếu khách hàng chưa tham gia Bản dùng thử HTML5 , trình phát sẽ tự động trở lại trình phát flash ngay cả khi trình duyệt của khách hàng có hỗ trợ video HTML5.

Làm thế nào để buộc phát lại video HTML5 nếu trình duyệt hỗ trợ nó, ngay cả khi người dùng chưa tham gia Thử nghiệm HTML5?

Nếu không, làm cách nào để tắt dự phòng flash?

BIÊN TẬP:

Có thể buộc trình phát HTML thông qua các liên kết đến Video Youtube , nhưng tôi cần loại tính năng này cho các video được nhúng.


Điều gì sẽ xảy ra nếu bạn phát hiện Khả năng HTML5 với js và triển khai mã api youtube tương ứng. Hoặc tôi nên nói, nếu Video HTML5 không được hỗ trợ, đừng triển khai api youtube vì nó sẽ sử dụng Flash.
David Hobs

Câu trả lời:


179

Tôi đã tìm ra giải pháp:

Bạn phải thêm html5=1thuộc tính src của iframe:

<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1"></iframe>

Video sẽ được hiển thị dưới dạng HTML5 nếu có hoặc dự phòng vào trình phát flash.


1
hmm - bây giờ nó không hoạt động (cùng một vids), kỳ lạ. Tôi tự hỏi nếu nó chỉ hoạt động trên một số máy chủ youtube nhất định?
UpTheCreek

1
Không hoạt động khi thêm &html5=1vào cuối video không được nhúng: /
Moshe Revah

1
Việc thêm &html5=1(hoặc &html5=truebất cứ thứ gì tương tự) vào cuối siêu liên kết (không phải video nhúng iframe) dường như không hoạt động trong IE mà không có Flash.
Ryan

1
Các video YouTube có quảng cáo sẽ tự động sử dụng trình phát Flash
turnt

8
Tôi nghĩ rằng tất cả các báo cáo là thiên vị. Không ai nói nếu anh ấy / cô ấy đang ở trong "html5 beta của youtube" và đây có lẽ là yếu tố chính. Khi tôi rời khỏi html5 beta, có vẻ như? Html5 = 1 không làm gì cả. Mọi video đều có flash.
Paul Brewczynski

20

Video YouTube có phát ở định dạng HTML5 hay không tùy thuộc vào cài đặt tại https://www.youtube.com/html5 , trên mỗi trình duyệt. Chrome thích tự động phát lại HTML5, nhưng ngay cả Firefox và Internet Explorer mới nhất vẫn sử dụng Flash nếu nó được cài đặt trên máy.

Tham số html5 = 1 không làm bất cứ điều gì (nữa) bây giờ. (Lưu ý rằng nó thậm chí không được liệt kê tại https://developers.google.com/youtube/player_parameters .)


Chỉ cần kiểm tra, tôi đã chọn trình phát HTML5 trong youtube.com/html5 , nhưng nếu & html5 = 1 không được chỉ định làm tham số cho trình phát nhúng, flash sẽ được tải, khi tôi chỉ định trình phát HTML5 tham số sẽ được tải. Hệ điều hành: Linux, Firefox 33 64bit.
Sa hoàng

Tôi vừa thử nghiệm html5=1trong Firefox 33.0.2 và nó hoạt động tốt (và không yêu cầu người dùng bật cài đặt HTML5 trên YouTube). Nếu không có nó, YouTube sẽ gửi phiên bản Flash theo mặc định.
Simon East

Tham số vẫn hoạt động, nhưng việc kích hoạt nó trên trang html5 khiến youtube mặc định thành html5 thì tốt hơn.
alanh

4

Tuy nhiên, tôi đã thử sử dụng mã nhúng iframe và trình phát HTML5 xuất hiện, vì một số lý do, iframe đã hoàn toàn phá vỡ trang web của tôi.

Tôi đã nhầm lẫn với mã nhúng đối tượng cũ và nó hoạt động hoàn toàn tốt. Vì vậy, nếu bạn đang gặp sự cố với iframe, đây là mã tôi đã sử dụng:

<object width="640" height="360">
<param name="movie" value="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="640" height="360" src="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3" class="youtube-player" type="text/html" allowscriptaccess="always" allowfullscreen="true"/>
</object>

hy vọng điều này hữu ích cho ai đó


YouTube <object>đang bị phản đối tính đến cuối tháng Giêng. Sử dụng <iframe>thay thế.
Samuel Elh

<object>vẫn hoạt động, trên thực tế iframe chỉ chứa nó.
RozzA

2

Nếu bạn đang sử dụng api nhúng iframe, bạn có thể đặt html5:1làm một trong các playerVarsđối số, như sau:

player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: '<VIDEO ID>',
    playerVars: {
        html5: 1
    },
});

Hoàn toàn hoạt động.


0

Thẻ nội tuyến được sử dụng để thêm một src khác của tài liệu vào phần tử html hiện tại.

Trong trường hợp của bạn là video youtube và chúng tôi cần chỉ định loại html (4 hoặc 5) cho trình duyệt bên ngoài liên kết

vì vậy hãy thêm? html = 5 vào cuối liên kết .. :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.