YouTube ビデオ ソースを HTML5<video>
タグに挿入しようとしていますが、うまくいかないようです。Google で調べてみると、HTML5 では YouTube ビデオ URL をソースとしてサポートしていないことがわかりました。
HTML5 を使用して YouTube 動画を埋め込むことはできますか? できない場合は、回避策はありますか?
ベストアンサー1
この回答はもう機能しませんが、解決策を探しています。
現在. 2015 / 02 / 24 .そこにはウェブサイト (youtubeinmp4)でYouTube動画をダウンロードできる機能がありますが.mp4 format
、これを悪用して(JavaScriptを少し使って)YouTube動画をタグに埋め込むことができます<video>
。デモこれを実際に実行してみましょう。
##長所
- かなり実装が簡単。
- とても高速なサーバー応答実際には(ビデオを取得するのにそれほど時間はかかりません)。
- 抽象化(受け入れられた解決策は、たとえ正常に機能したとしても、どのビデオを再生するかを事前に知っている場合にのみ適用できます。これは、ユーザーが入力した URL すべてに有効です)。
##短所
これは明らかに
youtubeinmp4.com
サーバーと、ダウンロード リンク (ソースとして渡すことができる) を提供する方法に依存する<video>
ため、この回答は将来的には有効ではなくなる可能性があります。ビデオ品質を選択することはできません。
###JavaScript (後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>
標準のビデオ形式。
###使用方法(ミニ)
<video src="youtu.be/MLeIBFYY6UY" controls="true"></video>
あまり一般的ではありませんが、かなり小規模で、短縮 URL をタグ内で直接属性youtu.be
として使用します。src
<video>