我一直在研究 Youtube 的新 HTML 5 播放器和 DASH 实现。我开始使用 Wireshark 和 DummyNet 等实用程序,以查看比特率如何随带宽变化而变化。但在我进入这个之前,我需要更好地理解我看到的数据包。我主要是在寻找解码 GET 请求的帮助。我一直在通过“http.request.method == GET”并跟踪 TCP 流来过滤我的 Wireshark 捕获。我看到参数是:clen、dur、gcr、gir、id、ip、ipbits、itag、lmt、source、upn、expire。有些是直截了当的,有些则不是。我最困惑的是 clen、upn、lmt 和一个标记为 mt 的参数,它没有被列为 sparam。我最感兴趣的是找到请求的比特率。但现在我很困惑我是否在正确的地方寻找。clen 是唯一可以被视为以 Mbps 为单位的值的字段。但是该值通常不符合 youtube 列出的某些质量的可能比特率。对于比特率,它们似乎也是奇怪的值。这是一个示例请求 URL:
http://r15---sn-p5qlsney.googlevideo.com/videoplayback?lmt=1389519273541060&source=youtube&expire=1394008508&sver=3&dur=191.692&itag=243&upn=dPjd90tRg4o&id=o-ANPasmTb-Kbiei84oPQpCjzKQT9ypEOEBqSpq3YmfDmZ&fexp=906373%2C931942%2C934913%2C916612%2C937417%2C937416%2C913434%2C936910%2C936913%2C902907%2C934022%2C3300021%2C3300114%2C3300131%2C3300137%2C3300164%2C3310366%2C3310628%2C3310649&gir=yes&signature=898DF292EE99A453258333B40880CC72BCE453D1.DB976A3B1EB55CF43C36F6FFF2AF329FAD2E9EE4&sparams=clen%2Cdur%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&ipbits=0&ip=128.226.230.194&key=yt5&clen=4951576&cpn=BzQtGIscpjryZJ1D&alr=yes&mime=video%2Fwebm&ratebypass=yes&redirect_counter=1&cms_redirect=yes&ms=nxu&mt=1393986619&mv=m&range=1737754-2707644&keepalive=yes
Run Code Online (Sandbox Code Playgroud)
我使用谷歌浏览器作为浏览器,并确保我检查的所有视频都使用 DASH 活动的 HTML5 播放器。
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |