将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&amp;itag=43&amp;ipbits=0&amp;signature=D2BCBE2F115E68C5FF97673F1D797F3C3E3BFB99.59252109C7D2B995A8D51A461FF9A6264879948E&amp;sver=3&amp;ratebypass=yes&amp;expire=1300417200&amp;key=yt1&amp;ip=0.0.0.0&amp;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

    上一篇: Show Youtube video source into HTML5 video tag?

    下一篇: YouTube V3 uploaded Video list by channel id