jjzjj

[超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)

jacpty 2023-06-16 原文

启用HEVC、AV1解码

前言

本文章仅适用于Windows10/11 PC网页端,开启HEVC/AV1硬解适用于所有清晰度,开启4K、8K、HDR真彩、杜比视界、杜比全景声都需要B站大会员。就算没有大会员,开启了硬解也能节省很多流量以及降低CPU占用。

Edge和Chrome浏览器由于都是使用Chromium内核,所以操作步骤基本相同。
Chrome用户可能打不开拓展商城,大部分插件文章中已经给出了官网地址,没有的请自行上网寻找资源。

经过实际检验,大部分视频都已经支持HEVC。AV1的视频还不是很多,新上传的、播放量高的、知名up主上传的和番剧这些大多支持AV1。

一、B站对于HEVC和AV1的支持情况

首先就是介绍下软解和硬解的区别:

  • 硬解就是硬件解码,使用机器中的专门的解码芯片来完成,效率极高,本文将教你如何使用硬解来播放B站视频。
  • 软解就是用CPU来解码,对CPU的性能消耗非常大,越先进的编码需要的性能越高,所以强制开启HEVC或者是AV1会导致视频卡顿、电脑发热等问题。

目前网页端B站默认使用的是AVC(H.264)编码,相同视频下编码效率文件大小都比HEVC(H.265)编码的视频差了接近一半。而AV1编码的视频能在画质相同的情况下做到和HEVC差不多的大小,在4K以上的分辨率大幅超过HEVC(详细测试请看后文)。那为什么这么好的编码B站没有默认使用呢?

HEVC(High Efficiency Video Coding)是闭源的,而且专利费极高,所以使用了Chromium内核的Edge浏览器和Chrome浏览器并不支持HEVC硬解,目前仅有macOS和iOS的Safari浏览器支持HEVC硬解。HEVC硬解虽然对硬件有要求,不过intel的核显从很早就支持了,只要不是特别老的机器都是可以支持HEVC硬解的,支持列表请看下文。

AOMedia Video 1(AV1)是一个开放,免专利的视频编码格式,针对互联网传输视频而设计,目前YouTube已经全面支持AV1。B站从2022.3.3开始陆续将视频转码成AV1,但AV1硬解对于设备有较高的要求,只有目前最新款的硬件才支持,支持列表请看下文。

如果设备支持HEVC硬解但不支持AV1硬解的就使用HEVC,如果设备HEVC和AV1都支持硬解的就使用AV1。如果平时看直播比较多的就直接选HEVC。Chrome无法调用Windows系统的插件,所以无法正常开启HEVC硬解。

二、查看设备是否支持

要知道自己的电脑支持什么格式的硬解码,可以下载DXVA Checker
下载地址:https://bluesky-soft.com/en/DXVAChecker.html

也可以直接查询BlueSky的数据库(可直接点击超链接)
AMD :https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/amd.html
Intel :https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/intel.html
NVIDIA :https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/nvidia.html

浏览器通常采用核显加速,同时有独显核显的,参考核显的解码能力。
HEVC硬解支持的硬件较多,Intel第六代酷睿处理器及以后的核显全部支持HEVC,六代之前的部分支持,具体请看BlueSky的数据库。
AV1硬解目前仅限于AMD RX 6000系(除6500XT)、Nvidia 30系、Intel Arc显卡、Intel UHD 700系和Iris 锐炬Xe核显,后续型号应该也会支持AV1。

三、开启HEVC硬解

下载HEVC插件

开启HEVC之前需要下载HEVC插件,这个插件可以在微软商店花7块钱购买。

也可以直接在网上免费下载,两者都是一样的。
HEVC视频拓展下载地址:https://www.free-codecs.com/hevc_video_extension_download.htm
由于以前的bug已经修复,所以可以直接下载最新版的插件,选择x64版本的HEVC Video Extension 1.0.50361下载并安装。

下载并使用UA插件

直接到Edge浏览器拓展商店搜索User-Agent Switcher and Manager下载。
选择Safari和Mac OS,然后点击最新版本,再点击Apply(all windows)即可。

现在已经完成了UA的设置,不过这个设置是全局的,我们只想要在B站中启用UA。

  1. 打开拓展程序管理面板或者是在地址栏输入(按浏览器自己选择)edge://extensions/chrome://extensions/
  2. 找到刚刚安装的User-Agent Switcher and Manager,点击详细信息,选择在特定站点上
  3. 填入https://www.bilibili.com/*

体验HEVC

这时候重启一下浏览器再打开B站,点击右下角的齿轮→更多播放设置→选择HEVC,刷新一下即可。
重启浏览器还是不行的话可能是浏览器还有后台,如果你不知道在任务管理器里怎么关掉的话就重启电脑

查看一下当前的编码,在视频中右键 “视频统计信息”,出现hev字样即为HEVC编码。
这时候再打开任务管理器,选到显卡查看“Video Decode”,如果有占用的话就是调用了硬件解码,这时候CPU占用一般较低。


四、开启AV1硬解

下载AV1插件

开启AV1硬解的步骤就比开启HEVC简单多了,只需要下载AV1插件即可使浏览器支持硬解。
如果你使用的是chrome或者是Firefox浏览器,那么就不需要下载这个插件,因为浏览器内置了。
由于AV1编解码器是免费的,所以直接到微软商店搜索AV1 Video Extension下载安装即可。

体验AV1

这时候重启一下浏览器再打开B站,点击右下角的齿轮→更多播放设置→选择AV1,刷新一下即可。
重启浏览器还是不行的话可能是浏览器还有后台,如果你不知道在任务管理器里怎么关掉的话就重启电脑

查看一下当前的编码,在视频中右键 “视频统计信息”,出现av01字样即为AV1编码。
这时候再打开任务管理器,选到显卡查看“Video Decode”,如果有占用的话就是调用了硬件解码,这时候CPU占用一般较低。


五、测试

测试的环境为50Mbps速率的网络以及两台电脑,分别是一台使用4K分辨率显示器的台式电脑(不支持HDR),以及一台12代酷睿笔记本电脑。台式电脑开启HEVC,笔记本电脑开启AV1。
台式电脑配置:Intel core i5-8400 CPU、NVIDIA GTX1060 6GB、8GB DDR4内存
笔记本配置:RedmiBook Pro 15 2022 核显版

总结:
B站网页端的4K硬解和8K硬解效果很好,建议开启。
对于开启HDR真彩,可能需要支持HDR的显示器,不然会导致屏幕发灰。
对于开启杜比全景声,这个相当于加载了一条音轨,可以无脑开启。
对于开启杜比视界,需要满足三个条件:

  1. 硬件设备有杜比视界认证
  2. 片源为杜比视界相关格式
  3. 播放软件要有杜比认证(比如Netflix、bilibili)

不满足以上条件的会导致色彩不对、发灰等问题,因为开启杜比视界的条件比较苛刻,建议一律关闭。

AVC、HEVC和AV1码率测试

选用了两个视频,分别测试京都之秋4K、8K和影视飓风演示片4K、8K。
相同分辨率下不同编码的视频画质都差不多,所以HEVC和AV1对于网速慢、流量少的人帮助很大。

【8K HDR】京都之秋 | Nikon Z9 演示片|Links:https://www.bilibili.com/video/BV11f4y1K7Wx
【8K演示片】B站首发!你的设备还顶得住吗?:https://www.bilibili.com/video/BV1qM4y1w716

4K分辨率下的京都之秋

AVC编码13559Kbps、HEVC编码7155Kbps、AV1编码7656Kbps


8K分辨率下的京都之秋

AVC编码不支持8K、HEVC编码21401Kbps、AV1编码10075Kbps

4K分辨率下的影视飓风演示片

AVC编码10711Kbps、HEVC编码4776Kbps、AV1编码4993Kbps


8K分辨率下的影视剧风演示片

AVC编码不支持8K、HEVC编码19806Kbps、AV1编码9398Kbps

HDR真彩

由于本人的显示器不支持HDR,所以出现了视频发灰的问题,网上有人说用支持HDR的显示器开启HDR真彩就不会发灰,所以实际效果如何还需要读者自行测试。
推荐测试视频:

【4K HDR】哔哩哔哩 真·HDR ON!!这才是看世界的正确方式|地球Online 光线追踪极限画质|4K HDR演示片|屏幕画质测试|Links:https://www.bilibili.com/video/BV15z4y1Z734

杜比视界、杜比全景声

实际测试发现如果开启杜比全景声会出现加载不出来的情况,这时候只需要刷新下网页,就可以正常播放了。建议戴上耳机,杜比的效果还可以,空间感会强点。
其实Windows10的声音里面有集成杜比音效,不过需要到微软商店去买,听音乐和游戏有用,嫌贵的可以去tb买key,只需要不到20元。
选用测试的视频:

【杜比视界HDR·全景声】中文演示片|已更新 需设备支持:https://www.bilibili.com/video/BV1eV411W7tt

有时候还会出现关不掉杜比全景声的情况,这时候可以试下切换分辨率来关闭。

六、推荐一个好用的B站脚本

对于经常使用哔哩哔哩网页端的用户,可能B站网页端有些功能不是很完善,或者是有些东西不喜欢想要屏蔽掉(包括广告)。
我推荐一个超强的脚本,那就是Bilibili-Evolved,功能很多,基本可以实现B站全部功能自定义,简直就是B站网页端的神器。
下载安装脚本之前需要先安装上油猴插件。

  1. 安装油猴插件
    油猴插件可以直接到Edge浏览器拓展商店搜索Tampermonkey下载,也可以到官网选择对应版本下载。
    Tampermonkey官网:https://www.tampermonkey.net/?ext=dhdg&locale=zh
  2. 安装Bilibili-Evolved脚本
    不知出于何种原因,原先在Greasy Fork上的已经被作者下架了,只能到GitHub首页上安装,GitHub因为某些原因所以打开速度较慢,耐心等待、多试几次就能打开了。
    使用方法在GitHub页面上已经写得很清楚了,我就不过多介绍了。
    Bilibili-Evolved:https://github.com/the1812/Bilibili-Evolved

本文章会同步发布在B站专栏:
[超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解:https://www.bilibili.com/read/cv16485256
本文章参考自:

  1. H.264和H.265(HEVC)深度解析及对比:https://blog.csdn.net/weixin_42229404/article/details/84639538
  2. Chrome/Egde上为B站启用HEVC硬解:https://www.bilibili.com/read/cv13253613
  3. b站网页端部分视频启用AV1编码:https://www.bilibili.com/read/cv15024182
  4. 在新版Edge浏览器启用B站HEVC、HDR、8K:https://www.bilibili.com/read/cv7845667

有关[超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)的更多相关文章

  1. ruby - 在 Ruby 中用键盘诅咒数组浏览 - 2

    我正在尝试在Ruby中制作一个cli应用程序,它接受一个给定的数组,然后将其显示为一个列表,我可以使用箭头键浏览它。我觉得我已经在Ruby中看到一个库已经这样做了,但我记不起它的名字了。我正在尝试对soundcloud2000中的代码进行逆向工程做类似的事情,但他的代码与SoundcloudAPI的使用紧密耦合。我知道cursesgem,我正在考虑更抽象的东西。广告有没有人见过可以做到这一点的库或一些概念证明的Ruby代码可以做到这一点? 最佳答案 我不知道这是否是您正在寻找的,但也许您可以使用我的想法。由于我没有关于您要完成的工作

  2. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  3. ruby - 强制浏览器下载文件而不是打开文件 - 2

    我要下载http://foobar.com/song.mp3作为song.mp3,而不是让Chrome在其native中打开它浏览器中的播放器。我怎样才能做到这一点? 最佳答案 您只需要确保发送这些header:Content-Disposition:attachment;filename=song.mp3;Content-Type:application/octet-streamContent-Transfer-Encoding:binarysend_file方法为您完成:get'/:file'do|file|file=File.

  4. ruby - 如何使用 readline 支持重新安装 ruby​​? - 2

    我已经按照https://github.com/wayneeseguin/rvm#installation上的说明通过RVM安装了Ruby.有关信息,我有所有文件(readline-5.2.tar.gz、readline-6.2.tar.gz、ruby-1.9.3-p327.tar.bz2、rubygems-1.8.24.tgz、wayneeseguin-rvm-stable.tgz和yaml-0.1.4.tar.gz)在~/.rvm/archives目录中,我不想在任何目录中重新下载它们方式。当我这样做时:sudo/usr/bin/apt-getinstallbuild-essent

  5. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  6. ruby-on-rails - "undefined method ` stub_request '"访问 RSpec 支持文件中的方法时 - 2

    我的Ruby-on-Rails项目中有以下文件结构,用于规范:/spec/msd/serviceservice_spec.rb/support/my_modulerequests_stubs.rb我的request_stubs.rb有:moduleMyModule::RequestsStubsmodule_functiondeflist_clientsurl="dummysite.com/clients"stub_request(:get,url).to_return(status:200,body:"clientsbody")endend在我的service_spec.rb我有:re

  7. ruby - 如何在 watir 测试套件结束时关闭浏览器? - 2

    使用ruby​​的watir测试网络应用程序时,浏览器最后会保持打开状态。网上的一些建议是,要进行真正的单元测试,您应该在每次测试时(在拆卸调用中)打开和关闭浏览器,但这很慢而且毫无意义。或者他们做这样的事情:defself.suites=superdefs.afterClass#Closebrowserenddefs.run(*args)superafterClassendsend但这会导致摘要输出不再显示(诸如“100次测试、100次断言、0次失败、0次错误”之类的内容仍应显示)。我怎样才能让ruby​​或watir在我的测试结束时关闭浏览器? 最佳答案

  8. ruby - Ruby 是否支持逐字字符串? - 2

    Ruby是否支持(找不到更好的词)非转义(逐字)字符串?就像在C#中一样:@"c:\ProgramFiles\"...或者在Tcl中:{c:\ProgramFiles\} 最佳答案 是的,您需要在字符串前加上%前缀,然后是描述其类型的单个字符。你想要的是%q{c:\programfiles\}。镐书很好地涵盖了这一点here,部分是通用分隔输入。 关于ruby-Ruby是否支持逐字字符串?,我们在StackOverflow上找到一个类似的问题: https:/

  9. ruby - 在 Ruby 1.8 中支持 Ruby 1.9 的哈希语法 - 2

    我正在编写一个Rubygem,在我的代码中使用{key:'value'}哈希语法。我的测试都在1.9.x中通过,但我(可以理解)在1.8.7中得到syntaxerror,unexpected':',expecting')'。是否有支持1.8.x的最佳实践?我是否需要使用我们的老friend=>重写代码,还是有更好的策略? 最佳答案 我认为你运气不好,如果你想支持1.8,那么你必须使用=>。像往常一样,我会提到在1.9的某些情况下您必须使用=>:如果键不是一个符号。请记住,任何对象(符号、字符串、类、float……)都可以是Ruby哈

  10. ruby - 检查 Ruby 上的浏览​​器控制台输出 - 2

    如何检查浏览器控制台是否有错误?例如,我用Selenium开发了浏览器(chrome或firefox),我用SeleniumWebDriver做了一些操作。之后我想知道Web控制台中是否有任何错误。 最佳答案 我试着像这样处理控制台错误:defcheck_console_logconsole_log=@browser.driver.manage.get_log(:browser)ifconsole_log!=nilraise(console_log)endend并将其记录到文件中defwrite_log(file_path)work

随机推荐