如何从 youtube 的 HTML5 版本获取 HTML5 视频 URL?

Sun*_*hah 5 youtube html5-video

我无法在 html5 版 youtube 的源代码中找到标签。

问题 1)。关于如何在没有视频元素的情况下播放 HTML5 视频的任何想法?

一种选择是它正在从 JS 添加视频元素,但即使在 web-inspector 的 DOM 中我也无法找到视频元素。

问题 2)。如何在网络检查器或萤火虫中找到视频元素?

PS:我是网络开发的新手。

opy*_*ate 6

它肯定在那里。我随机挑选了一个视频,然后:

<video 
    class="video-stream" x-webkit-airplay="allow" data-youtube-id="iF83wwij828" 
    poster="http://i2.ytimg.com/vi/iF83wwij828/hqdefault.jpg" 
    src="http://v14.lscache3.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0hQRVVRV19FSkNOMF9NS0FD&amp;itag=43&amp;ip=0.0.0.0&amp;signature=60D26B708E92E1636CA3B34A389B1A4406DF290F.BD57D8B601A61EFF68CEF6726754DAD6D9C7C2A9&amp;sver=3&amp;ratebypass=yes&amp;expire=1310569200&amp;key=yt1&amp;ipbits=0&amp;id=885f37c308a3f36f">
</video>
Run Code Online (Sandbox Code Playgroud)

我的浏览器:Mac OS X 上的 Chrome 12.0.742.100,带有开发者工具 -> 元素选项卡 -> 搜索“<video”

与“查看源代码”不同,开发人员工具将显示呈现给最终用户的内容。

或者,查看名为 .js 的 JavaScript 文件的内部watch。我在 1464 行附近发现了这个:

'PLAYER_CONFIG':
    {"url": "http:\/\/s.ytimg.com\/yt\/swfbin\/watch_as3-vfl7OZAr4.swf",
     "min_version": "8.0.0", 
    "args": {"rv.2.thumbnailUrl": "http:\/\/i4.ytimg.com\/vi\/_jjXCm3W4hA\/default.jpg",
    "rv.7.length_seconds": 374, 
    "rv.0.url": "http:\/\/www.youtube.com\/watch?v=fvVJ7U-TekE", 
    "rv.0.view_count": 14234, 
    "enablecsi": "1", 
    "rv.2.title": "Alan Grayson (HD): \"Which Foreigners Got the Fed's $500,000,000,000?\"  Bernanke: \"I Don't Know.\"", 
    "rv.4.rating": "", "rv.3.view_count": 8109, "is_doubleclick_tracked": "1",
    "rv.4.thumbnailUrl": "http:\/\/i1.ytimg.com\/vi\/PlaFDyjCeVQ\/default.jpg", 
    "fmt_url_map": "34|http:\/\/o-o.preferred.lhr14s07.v21.lscache6.c.youtube.com\/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0hQRVVSVF9FSkNOMF9NTFhF\u0026algorithm=throttle-...
Run Code Online (Sandbox Code Playgroud)

我想如果你匹配fmt_url_map,你会找到它。