油管4k/8k视频Connection Speed测试

这是一个挺没有用的小测试,只是出于好奇。本机观看4k视频,网络情况如下:

connection speed

基本上8557Kbps(1.04M/s)的峰值波动是不能无缓冲观看4k的,非常卡顿,于是我想做一个测试,看看之前开的不限速美国云服务器,用来加载观看4k视频,效果如何(非本机,服务端模拟观看)

开始折腾,首先一定是要用selenium打开浏览器进行测试,因为这个Connection Speed,是加载速度,不会像下载那样满速,到达一定程度就会稳定下来。

至于下载速度,看着莫名其妙的爽...

connection speed

进行测试步骤

(1)安装firefox,安装selenium 2.53.6,新版的selenium还得安装driver和新版火狐,没有必要,太麻烦了,好在油管html5,并没有用flash

(2)想要调出统计信息窗口需要在视频上“右键 - 详细统计信息”,小插曲是右键后使用定位方法点击却没有准确定位,好在能通过寻找节点进行点击

(3)选择视频的清晰度,找了个好用的插件 YouTube High Definition,可以让自动切换油管为最高画质

(4)扩展引入了新的麻烦,需要通过命令行安装插件,摸索了下,比较好弄,用vim把xpi文件打开,有个名为install.rdf的文件,开头有一个id,类似于{ec8030f7-c20a-464f-9b0e-13a3a9e97384},然后把下载的插件重命名为{ec8030f7-c20a-464f-9b0e-13a3a9e97384}.xpi放在/home/用户名/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}下即可,我的本地测试是没有问题的,但是服务器端并没有成功

(5)另辟蹊径,selenium打开浏览器默认是不加载扩展的,可以通过设置浏览器的profile,指定加载xpi扩展

(6)这种方法又引入一个新的问题,扩展首次打开后会新弹出一个扩展的主页,浏览器的Tab就被遮挡了,selenium似乎没有直接关闭标签页的功能,好在支持键盘模拟,浏览器支持快捷键,可以解决问题

代码

#!/bin/env python
# -*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

# 加载扩展
profile = webdriver.FirefoxProfile()
profile.add_extension('/root/downloads/addon-328839-latest.xpi')
profile.set_preference("extensions.y2bautohd.currentVersion", "49.1")

driver = webdriver.Firefox(firefox_profile=profile)

# 打开指定视频
driver.get('https://www.youtube.com/watch?v=TmDKbUrSYxQ')

# 切换标签页
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)

# 刷新视频页
driver.get('https://www.youtube.com/watch?v=TmDKbUrSYxQ')
time.sleep(30)

# 点击右键
ele = driver.find_element_by_id('movie_player')
action_chains = ActionChains(driver)
action_chains.move_to_element_with_offset(ele, 100, 100).context_click().perform()
time.sleep(3)

# 点击详细统计信息
driver.find_element_by_xpath('//div[text() = "Stats for nerds"]').click()
time.sleep(3)

# 保存截图
img_name = str(time.time())[0:10] + '.png'
driver.save_screenshot('/root/downloads/'+img_name)

把截图从服务器down下来,如下是再次截图后的结果,试了几次取的最高值

connection speed

101496Kbps (12.4Mb/s)的速度,超级快,4k无压力,于是我又找了一个8K视频进行测试,悲剧的是,2核2GB内存的机器明显抗不住了,运行过程中firefox死掉了,它家云服务器按月买的,无法进行配置调整... 于是,不死心的我想到了DO家的主机,可以随时新建删除

connection speed

高配搞起,飞速完成测试并关闭了主机...

没有了CPU和内存的限制,果然8k带的动了,不过8K视频似乎也不需要多大的加载速度

connection speed

10884Kbps(1.3Mb/s),看加载过程,最开始快速缓冲一会,然后维持这个速度就可以流畅的观看8k了

然后我又在do高配下载了同样的视频,带宽看起来相比之前的那个云主机差一丢丢

connection speed

好了,然而这并没有什么xx... just for fun