YouTubeビデオソースをHTML5 <video>
タグに入れようとしていますが、うまくいかないようです。いくつかのグーグルの後、HTML5はソースとしてのYouTubeビデオURLをサポートしていないことがわかりました。
HTML5を使用してYouTubeビデオを埋め込むことはできますか?そうでない場合、回避策はありますか?
ステップ1:&html5=True
をお気に入りのYouTube URLに追加します
ステップ2:ソースで<video/>
タグを見つける
ステップ3:ビデオタグにcontrols="controls"
を追加:<video controls="controls"..../>
例:
<video controls="controls"
class="video-stream"
x-webkit-airplay="allow"
data-youtube-id="N9oxmRT2YWw"
src="http://v20.lscache8.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0hPRVRMVV9FSkNOOV9MRllD&itag=43&ipbits=0&signature=D2BCBE2F115E68C5FF97673F1D797F3C3E3BFB99.59252109C7D2B995A8D51A461FF9A6264879948E&sver=3&ratebypass=yes&expire=1300417200&key=yt1&ip=0.0.0.0&id=37da319914f6616c"></video>
expire
のようなものがあることに注意してください。 src
文字列がどのくらいの期間機能するかわかりません。
まだ自分自身をテストしています。
編集(2011年7月28日):このビデオsrcはページソースの取得に使用するブラウザ。 YoutubeはこのHTMLを動的に(少なくとも現在)生成するので、Firefoxでコピーした場合のテストでは、これはChromeではなくFirefoxで動作します
現在。 2015/02/24。website(youtubeinmp4) があり、.mp4 format
でyoutubeビデオをダウンロードできます。 )<video>
タグでのYouTube動画の埋め込みを回避します。これが demo の動作中です。
それは明らかにyoutubeinmp4.com
サーバーとダウンロードリンクを提供する方法(<video>
ソースとして渡すことができる)に依存するため、この回答は将来有効ではなくなる可能性があります。
ビデオ品質を選択することはできません。
load
の後)videos = document.querySelectorAll("video");
for (var i = 0, l = videos.length; i < l; i++) {
var video = videos[i];
var src = video.src || (function () {
var sources = video.querySelectorAll("source");
for (var j = 0, sl = sources.length; j < sl; j++) {
var source = sources[j];
var type = source.type;
var isMp4 = type.indexOf("mp4") != -1;
if (isMp4) return source.src;
}
return null;
})();
if (src) {
var isYoutube = src && src.match(/(?:youtu|youtube)(?:\.com|\.be)\/([\w\W]+)/i);
if (isYoutube) {
var id = isYoutube[1].match(/watch\?v=|[\w\W]+/gi);
id = (id.length > 1) ? id.splice(1) : id;
id = id.toString();
var mp4url = "http://www.youtubeinmp4.com/redirect.php?video=";
video.src = mp4url + id;
}
}
}
<video controls="true">
<source src="www.youtube.com/watch?v=3bGNuRtlqAQ" type="video/mp4" />
</video>
Standartビデオ形式。
<video src="youtu.be/MLeIBFYY6UY" controls="true"></video>
少し一般的ではありませんが、かなり小さく、youtube.be
短縮URLと<video>
タグでsrc
属性を直接使用します。
それが役に立てば幸い! :)
<video>
タグは、サポートされている形式(ブラウザによって異なる場合があります)のビデオを読み込むためのものです。
YouTube埋め込みリンクは、単なるビデオではありません。通常、ユーザーがサポートするものと、YouTube5を再生する方法を検出するロジックを含むWebページです。これが、YouTubeビデオでビデオタグを使用するのが難しい理由です。
YouTubeは、YouTubeビデオをページに埋め込むための開発者APIを提供しています。
実例としてJSFiddleを作成しました: http://jsfiddle.net/zub16fgt/
YouTube APIの詳細については、こちらをご覧ください: https://developers.google.com/youtube/iframe_api_reference#Getting_Started
コードは以下にもあります
HTMLで:
<div id="player"></div>
Javascriptで:
var onPlayerReady = function(event) {
event.target.playVideo();
};
// The first argument of YT.Player is an HTML element ID.
// YouTube API will replace my <div id="player"> tag
// with an iframe containing the youtube video.
var player = new YT.Player('player', {
height: 320,
width: 400,
videoId : '6Dc1C77nra4',
events : {
'onReady' : onPlayerReady
}
});