V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trepwq
V2EX  ›  YouTube

果然油管关掉 html5 后速度飞快

  •  
  •   trepwq · 2016-01-31 22:09:31 +08:00 · 18311 次点击
    这是一个创建于 2979 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天折腾香港 SOFTLAYER 的 vps , ss+fs ( udp ),使用 html5 的油管 4k 稍卡,看速度最高 25000kbps ,平均 6~7000kbps,关了 html5 直接飙到 80~90m 的速度,基本吃满我的联通 100m ,打开直接是 4k 的, html5 下打开是 1080p 的。
    观察了网速不是连续的,很均匀的一个一个波峰。

    52 条回复    2017-01-16 13:01:23 +08:00
    pH
        1
    pH  
       2016-01-31 22:22:53 +08:00
    观察了网速不是连续的,很均匀的一个一个波峰。
    这个是描述 HTML5 的么?
    Cavolo
        2
    Cavolo  
       2016-01-31 22:26:12 +08:00 via iPhone
    然而 flash 要烫死我
    ivmm
        3
    ivmm  
       2016-01-31 22:29:01 +08:00
    macbook 碰不得 flash 啊啊啊啊~~
    Bardon
        4
    Bardon  
       2016-01-31 22:30:42 +08:00
    然而,没装 flash 系列
    Andy1999
        5
    Andy1999  
       2016-01-31 22:32:29 +08:00 via iPhone
    怎么关 HTML 版?
    kn007
        6
    kn007  
       2016-01-31 22:33:37 +08:00
    怎么关闭 HTML5 ?
    trepwq
        7
    trepwq  
    OP
       2016-01-31 22:34:35 +08:00
    @pH 描述的 fs 加速
    trepwq
        8
    trepwq  
    OP
       2016-01-31 22:35:35 +08:00
    @Andy1999
    @kn007
    chrome 和 ff 有插件叫 disable y2b html5 什么的
    kn007
        9
    kn007  
       2016-01-31 22:35:57 +08:00
    @trepwq 谢谢
    XhstormR
        10
    XhstormR  
       2016-01-31 22:37:38 +08:00 via Android
    你的意思是 Flash 模式比 HTML5 模式快吗?
    pH
        11
    pH  
       2016-01-31 22:42:31 +08:00
    @Cavolo
    @ivmm
    @Bardon 都是一样被 flash 强奸难受的用户啊。
    @trepwq full speed 么?
    SkyLanD
        12
    SkyLanD  
       2016-01-31 22:53:04 +08:00
    可惜对于我这种经常去看游戏视频的关了 HTML5 就无法看 60HZ 的了…
    trepwq
        13
    trepwq  
    OP
       2016-01-31 22:54:02 +08:00
    @XhstormR 实际测试是的,好像 html5 使用 https 还是什么的,会影响速度
    plqws
        14
    plqws  
       2016-01-31 23:14:27 +08:00
    刚刚去试了下,的确快了很多。
    yexm0
        15
    yexm0  
       2016-01-31 23:14:58 +08:00
    然而 flash 不支持 youtube 8k....
    Stof
        16
    Stof  
       2016-01-31 23:25:05 +08:00
    @kn007

    Chrome 插件 : Disable Youtube™ HTML5 Player
    Firefox 插件 : YouTube Flash Video Player

    via http://www.d1sm.net/thread-19-1-1.html
    techyan
        17
    techyan  
       2016-01-31 23:31:12 +08:00
    刚刚试了下 LZ 说的插件。。本来我这里连我的 VPS , HTML5 时只有 400-600Kbps , 720p 根本带不动,强制用 Flash 居然能勉强看 720p 了。。
    techyan
        18
    techyan  
       2016-01-31 23:54:46 +08:00
    typcn
        19
    typcn  
       2016-02-01 00:03:37 +08:00   ❤️ 10
    YouTube 采用了 WebM 作为视频格式, VP9(WebM) 编码出来的视频通常要比 H264 小 40%,也就是说,采用 HTML5 会节省 40% 左右的流量就可以观看完视频,而 Google 自己制作的 HTML5 Dash 播放器会智能缓冲,不会一个劲的缓冲到头,而是有 QoS ,所以速度不会太快。


    Flash 视频不支持缓冲控制,甚至 Flash 连视频的 seek (拖拽播放)都不支持,必须让服务器切片才能完成,除非在服务器端强行限制客户端的速度(例如百度网盘这种),否则是无法对 Flash 播放的缓冲做控制的。

    采用 Flash ,可以耗费更多的流量,来观看更少的视频内容,让人看着下载速度快。
    hjc4869
        20
    hjc4869  
       2016-02-01 05:05:55 +08:00 via iPhone
    @typcn chrome 播放 4k vp9 整个电脑都要烧起来了,只支持软解,装了个 h264ify 之后轻松多了。而且带宽上 vp9 根本没省 40%,这个代价太大不划算。
    我倒是希望 HTML5 早日加入 HEVC 支持,在硬件编解码上 HEVC 和 AVC 的支持度比起 vp8 vp9 要好太多(
    typcn
        21
    typcn  
       2016-02-01 05:36:15 +08:00
    @hjc4869 HEVC 如果不放下专利收费注定会死亡,厂商需要每年支付 0.2 美元为每一个终端用户,上无封顶, Google 按用户量 10E 计算, Google 需要向 mpegla 每年支付 2 亿美元的 HEVC 专利费用。

    Google 自己在研发跟 HEVC 抗衡的 VP10 ,试图让视频编码开源免费,可能会去花这么多的钱去购买商业解码器?我觉得可能性为 -1 。

    我自己尝试用 libvpx 编码的 vp9 确实没有发现比 h264 高到哪去,但是 youtube.com 上面的内容差距却挺大的,很多视频确实是节省了 30-40% 的,可以尝试使用 youtube-dl 爬一些视频的 manifest 看一下。

    至于硬解,是市场决定的,当年支持 h264 硬解的设备也是寥寥无几,但是现在几乎找不到不支持 h264 硬解的设备,就是因为他的应用广泛,如果 VP9 or 未来的 VP10 市场份额非常高,硬件厂商肯定会在第一时间跟进硬解支持,毕竟要吸引大家购买他的设备。
    kn007
        22
    kn007  
       2016-02-01 07:38:43 +08:00
    @Stof THX.
    loading
        23
    loading  
       2016-02-01 07:47:47 +08:00 via Android
    flash 能使用更好的加载方式,例如 p2p 。
    Totoria
        24
    Totoria  
       2016-02-01 08:28:48 +08:00 via iPad
    我以前用 html5 加载也能超过 50Mbps 。最近也无法超过 10Mbps 了 连 1440p@60f 都看不了
    原来是 HTML5 的锅



    可是并没有 Flash
    trepwq
        25
    trepwq  
    OP
       2016-02-01 09:12:24 +08:00
    @pH finalspeed
    trepwq
        26
    trepwq  
    OP
       2016-02-01 09:14:11 +08:00
    @typcn 可是实际使用效果上,同样条件下看 4k 确实不卡了
    snow9312
        27
    snow9312  
       2016-02-01 09:24:10 +08:00
    @ivmm 南方的冬天还是需要 flash …
    shunia
        28
    shunia  
       2016-02-01 09:58:44 +08:00
    @typcn
    喂喂喂, Flash 不支持缓冲控制是从哪儿得来的结论,你不看优酷的吗?全文件下载播放的方式,缓冲支持得很好啊!
    另外下载速度快,跟耗费更多流量看更多内容有半毛钱关系?楼主说的速度快,应该是相对它的带宽来说的吧?这么误读真的好吗?
    从编码的方面来说,既然是 Google 自家的编码格式,用 Flash 写点代码解开也是分分钟的事,为什么到 Flash 这儿就一定要多花流量啦?

    哥们你也是大牛加 v2 活跃用户,这种不负责任的说法,我虽然觉得自己会挨喷但是还是忍不住。

    反倒是 23L 的同学用的背锅方式稍微合理一点,然而 html5 播放器在 JS 的支持下一样可以 P2P ,另外个人怀疑在果然不提醒用户的方式进行 P2P 加速应该是会被告的,所以 youtube 应该没有使用 P2P 。所以还是甩错了锅。。
    OOXZ
        29
    OOXZ  
       2016-02-01 10:04:30 +08:00
    是呀,风扇也是转的飞快╮(╯▽╰)╭
    FradSer
        30
    FradSer  
       2016-02-01 10:34:42 +08:00
    @shunia 对呀,我也觉得完全不符合科学道理啊
    AnyOfYou
        31
    AnyOfYou  
       2016-02-01 10:44:00 +08:00
    @shunia 优酷那种都切片了。他的意思是说,因为 Youtube HTML5 下载你播放位置后的一小段就停止或者自动减速下载了,所以 Stats of nerds 里的速度慢。
    shunia
        32
    shunia  
       2016-02-01 11:17:21 +08:00
    @AnyOfYou
    纯学术讨论哈:看优酷时试一下 F12 。另外 Flash 的 API 本身就是支持文件播放时缓冲的。另外跟这个相关的是他还有一点说的不正确, Flash 的 seek 需要服务器支持不假,但是 html5 的 seek 居然不需要服务器支持?不懂怎么做到的。因为不管分片不分片两者 seek 的原理都可以一模一样。

    另外 stats for nerds 假如是你设计的话,应该也不会把这个功能做成在没下载时也强行把空着的时间段统计进去吧。。。那个显示的应该是统计出来的平均码率,个人感觉不仅仅是通过计算下载数据的,也会通过测速接口判断。
    guoyijun163
        33
    guoyijun163  
       2016-02-01 13:17:13 +08:00
    我觉得问题在于 HTML5 版的视频分片载入太细了。。。。大约一次请求只读 1~4MB ,频繁的进行 HTTP 请求……
    zongwan
        34
    zongwan  
       2016-02-01 14:01:17 +08:00
    flash 播放视频的 API 介绍
    NetStream - Adobe ActionScript® 3 (AS3 ) API Reference
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#seek()

    FLASH API 被 intel CPU 级别 指令集优化的结果,更好的利用到了缓冲
    反过来说 intel 加入渲染的指令集优化,HTML5 因为某些原因还未能享受到.

    如果是 FMS 后台那么会更加优秀, AMF 格式会减少很多数据传输的体积.
    实际 FMS 太贵, java 端 有 red5 方案,nodejs 端也有对应的开源

    FMS 方案很出名,但 flash 在 P2P 的解决方案还不够优秀,目前没见过有知名的产品用.
    期待 HTML5 20 年内能提供更好的方案 然后弄个 HTML5 直播吧
    hjc4869
        35
    hjc4869  
       2016-02-01 14:33:03 +08:00
    @typcn 问题就在于现在的主流 PC 硬件(如 Haswell 之后的 Intel HD Graphics ,还有主流 NVIDIA 显卡)和高端移动硬件(如高通 810 等)都已经选择了 HEVC ,也就是厂商已经帮你把专利费给交了……
    wclebb
        36
    wclebb  
       2016-02-01 14:41:01 +08:00
    因为 Flash 有 P2P 技术。
    d1sm
        37
    d1sm  
       2016-02-01 14:57:55 +08:00   ❤️ 1
    youtube html5 播放器用了 spdy 传输视频,抓包可见,spdy 在 tcp 上重新实现了一个虚拟传输层来支持多路复用,速度不但受限于 tcp,还受限于 spdy 自己的拥塞机制,目前来看,spdy 在某些情况下表现并不好,flash 直接用 tcp,速度只取决于 tcp.

    和编码,缓存,p2p 没什么关系.
    hjc4869
        38
    hjc4869  
       2016-02-01 15:48:18 +08:00
    @shunia Flash 本身没有 vp8/vp9 支持,用 actionscript 写解码器和渲染器得死人
    imn1
        39
    imn1  
       2016-02-01 15:49:30 +08:00
    我是关闭 Flash 让其他网站飞快
    iloveayu
        40
    iloveayu  
       2016-02-01 16:15:44 +08:00
    @guoyijun163 是的,最初油管启用 HTML5 的时候是整段的,后来变成一个视频 4-5 段,又后来就变成现在的几 M 一段了。不知道是不是为了防止用户直接另存视频,然而并没卵用啊。
    typcn
        41
    typcn  
       2016-02-01 16:46:06 +08:00
    @shunia 优酷就是切片来支持的 Flash 缓冲控制和 seek ,不切片是不可能做到的。 HTML5 如果要实现 seek ,是不需要一行代码的,直接放到 nginx apache 或者任意一种播放器上,<video src> 就能播放,而且 Chrome 会自动做缓冲控制,而是当前播放位置的 X 秒。

    @zongwan 真屌, CPU 指令集还能为网络栈优化,以及 AMF 的传输很多都是 plaintext ,只会增大数据体积,对于 mp4 来说,缩小是不可能的,下次说话之前,先打一下草稿。

    @d1sm Google 早就升级了 HTTP/2 ,还会使用基于 UDP 的传输技术 QUIC , SPDY 在去年早已被废弃

    @iloveayu 这个就是为了缓冲控制,切片成 Dash
    typcn
        42
    typcn  
       2016-02-01 16:52:32 +08:00
    诶,今天我真是大开了一次眼界。。 自己不懂还要强行装懂,问题是自己编出来的话,自己都不知道对不对,竟然不先上网搜一下自己的猜想对不对,就来直接发帖子。
    shunia
        43
    shunia  
       2016-02-01 17:34:27 +08:00
    https://developer.mozilla.org/en-US/Apps/Build/Audio_and_video_delivery/buffering_seeking_time_ranges#Seekable

    不给你看 Flash 的只给你看 HTML5 的。 MDN 的这段说的并不详细,但是意思是说明白了。

    还是有话说对了,不切片确实办不到缓冲控制。 Flash 办不到, HTML5 也办不到。
    但是 Seek 是利用的服务器端功能(不管是哪个部分-nginx 还是 FMS 等-来实现)。

    我非要撕是看在一点上:既然不懂 Flash ,甚至某些基本的不涉及 Flash 的部分都有知识疏漏,为什么要强行黑?瞎扯的部分,老老实实说,我没调查过,不就好了吗?
    typcn
        44
    typcn  
       2016-02-01 17:39:43 +08:00
    @shunia
    1.自己去看看 ffmpeg 和 chromium 的源代码,看看会不会无脑缓冲到头
    2.Seek 利用的是 HTTP 协议本身的特性,而 Flash 需要做特殊切片处理 (通常 ?start=xx )
    typcn
        45
    typcn  
       2016-02-01 17:42:39 +08:00
    @shunia https://tools.ietf.org/html/rfc7233 自己看, HTTP 协议标准, Flash 是不支持的
    akw2312
        46
    akw2312  
       2016-02-03 17:39:50 +08:00
    @typcn "Google 早就升级了 HTTP/2 ,还会使用基于 UDP 的传输技术 QUIC , SPDY 在去年早已被废弃"
    不完全 我這邊的 googlevideo 服務器是 quic + spdy3...沒有 http2
    akw2312
        47
    akw2312  
       2016-02-03 17:42:37 +08:00
    話說說什麼 QoS...我這邊用 HTML5 看 4K 之類的 常常卡緩衝 當時速度只有 10~25Mbps..(我在台灣 直連 hinet 的 GGC)
    但是用 Flash 就不會卡緩衝 能跑到 8xMbps
    如果扔到 IDM 下載(已經設置成"單線程"了) 能跑到 11MB/s...
    heliopetuous
        48
    heliopetuous  
       2016-02-04 21:58:39 +08:00
    感谢楼主提供了一个提速的新思路。
    datou
        49
    datou  
       2016-02-05 17:39:26 +08:00
    旧电脑还是用默认 H5 外加个强制 H264 的扩展
    Khlieb
        50
    Khlieb  
       2016-02-05 20:51:41 +08:00 via Android
    wqrz
        51
    wqrz  
       2016-02-12 23:29:49 +08:00
    刚我也把插件安上, 看 1080p 终于不卡了 舒服最重要不要管什么原理不原理的了
    ninggu2008
        52
    ninggu2008  
       2017-01-16 13:01:23 +08:00
    唉呀妈呀,太 TM 显著了。。
    用 html5 ,看统计,前十几秒,连接速度 200-700kbps ,经常自动切到 144p , 360p ,糊到难受,手动切回去不方便。
    禁用 html5 ,换 flash ,连接速度直接峰值到 10000kbps (其实我怀疑可能不准, windows 一个网速检测 app 显示速度 500KB 是有的),很快缓冲一大截。 480p ,不会自动给切到 144p , 360p 。

    原来优酷切片是为了缓冲控制,我以为是为了防下载。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   988 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:07 · PVG 06:07 · LAX 15:07 · JFK 18:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.