将Youtube视频源显示为HTML5视频标签?
我正在尝试将YouTube视频源添加到HTML5 <video>
标记中,但似乎不起作用。 经过一些Google搜索后,我发现HTML5不支持YouTube视频网址作为来源。
你可以使用HTML5来嵌入YouTube视频吗? 如果没有,是否有任何解决方法?
第1步:将&html5=True
添加到您最喜欢的YouTube网址
第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中,这在Firefox中可用,但不在Chrome中。
这个答案不再适用,但我正在寻找解决方案。
作为 。 2015/02/24。 有一个网站(youtubeinmp4)允许你下载.mp4 format
youtube视频,你可以利用这个(使用一些JavaScript)来将youtube视频嵌入到<video>
标签中。 这是一个在行动中的演示 。
优点
缺点
这显然取决于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)/([wW]+)/i);
if (isYoutube) {
var id = isYoutube[1].match(/watch?v=|[wW]+/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>
使用youtube.be
缩短网址和src
属性直接在<video>
标记中,不太常见但较小。
希望能帮助到你! :)
<video>
标记旨在加载支持格式的视频(可能因浏览器而异)。
YouTube嵌入式链接不仅仅是视频,它们通常是包含逻辑的网页,用于检测用户支持的内容以及他们如何使用HTML5或Flash或其他基于用户PC上可用内容的插件播放YouTube视频。 这就是为什么在YouTube视频中使用视频标签时遇到困难的原因。
YouTube确实提供了开发者API,将YouTube视频嵌入到您的网页中。
我做了一个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
}
});
链接地址: http://www.djcxy.com/p/28997.html