[bilibili]教你如何压制B站1080P60帧不二压视频(已GG)

2022-5-16 18:45| 发布者: Hocassian| 查看: 40| 评论: 0|原作者: 神代綺凜

摘要:
C:\Users\Administrator\Downloads\神代綺凜\2019-10-15-14-34-56-19827286934300-文章归档 - 神代綺凜の萌化小基地-采集的数据-后羿采集器.html

标题

[bilibili] 教你如何压制B站1080P60帧不二压视频(已GG)

标题链接

https://moe.best/tutorial/bilibili-1080p60fps.html

正文

在几个月前,B站放宽了视频码率和帧率要求,并将其与大会员挂钩,但是作为UP主肯定还是要去照顾那些没有买大会员的观众,这篇文章将会教你如何方便的压制不二压视频。

基于“小丸工具箱”,可以做到傻瓜式实现,但是要求对命令行相关知识有一点点了解,不要求压制程序的相关知识。

Head Pic: 苍之彼方的四重奏-有板真白
应该是gal的cg,所以没有原图链接

B站压制非大会员 1080P 60FPS(已GG)

由于B站上线 DASH 技术,非大会员已经不能以60帧观看以此方法压制的视频,大家洗洗睡吧

https://www.bilibili.com/read/cv949156

准备

首先你需要一个小丸工具箱

已经写好的傻瓜式批处理脚本

这个 Windows 批处理脚本的适用压制情况:
编码器:x264_64-8bit.exe
音频模式:复制音频流
压制:2Pass保持原分辨率保持原帧率
.mp4进行压制,输出格式依然是.mp4

将以下代码复制下来粘贴到记事本中,修改前面的设置,然后保存成.bat批处理文件,然后将你要压制的视频(仅支持单个文件)直接拖到批处理文件即可自动压制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@echo off ::设置小丸工具箱目录,不要加末尾的斜杠,不要加双引号 SET MarukoToolbox=F:\Program Files\MarukoToolbox ::设置输出目录,不要加末尾的斜杠,不要加双引号 SET OutputDir=F:\output ::视频比特率(Kbps) SET BitRate=2900 ::压制线程数 SET Threads=8 ::后续部分不需要动 SET fullpath=%1 SET filename=%~n1 ::提取音频(复制音频流) "%MarukoToolbox%\tools\ffmpeg.exe" -i %fullpath% -vn -sn -c:a copy -y -map 0:a:0 "%MarukoToolbox%\temp\%filename%_atemp.aac" ::VBR 第一次压制 "%MarukoToolbox%\tools\x264_64-8bit.exe" --pass 1 --bitrate %BitRate% --stats "%MarukoToolbox%\temp\%filename%_vtemp.stats" --threads %Threads% --preset 8 -I 600 -r 4 -b 3 --me umh -i 1 --scenecut 60 -f 1:1 --qcomp 0.5 --psy-rd 0.3:0 --aq-mode 2 --aq-strength 0.8 --level 4.1 --level-force -o NUL %fullpath% ::VBR 第二次压制 "%MarukoToolbox%\tools\x264_64-8bit.exe" --pass 2 --bitrate %BitRate% --stats "%MarukoToolbox%\temp\%filename%_vtemp.stats" --threads %Threads% --preset 8 -I 600 -r 4 -b 3 --me umh -i 1 --scenecut 60 -f 1:1 --qcomp 0.5 --psy-rd 0.3:0 --aq-mode 2 --aq-strength 0.8 --level 4.1 --level-force -o "%MarukoToolbox%\temp\%filename%_vtemp.mp4" %fullpath% ::合并视频与音频 "%MarukoToolbox%\tools\mp4box.exe" -add "%MarukoToolbox%\temp\%filename%_vtemp.mp4::trackID=1:name=" -add "%MarukoToolbox%\temp\%filename%_atemp.aac::trackID=1:name=" -new "%OutputDir%\%filename%_x264.mp4" ::清理临时文件 del "%MarukoToolbox%\temp\%filename%_atemp.aac" del "%MarukoToolbox%\temp\%filename%_vtemp.stats" del "%MarukoToolbox%\temp\%filename%_vtemp.stats.mbtree" del "%MarukoToolbox%\temp\%filename%_vtemp.mp4" pause

原理解释

其实这个压制命令完全是基于小丸工具箱的预置压制参数,只是在基础上加了--level 4.1 --level-force参数

清晰度 要求大会员 视频码率 音频码率 隐性要求
720P <=2000K <=192K level<=4.1
1080P <=3000K <=192K level<=4.1
1080P+ <=6000K <=320K
720P60 <=3000K <=320K
1080P60 <=6000K <=320K

还有其他条件例如色彩空间、声道之类的要求此处省略

以上条件仅仅依据官方给出的信息 + 本人实际经验 + 本人猜测,实际上肯定有漏洞,我见过8K30FPS的B站视频,level在6.0,码率20000K,清晰度在1080P档,而且UP主说甚至可以弄到最高144FPS,我不太了解这个是怎么做到的

至于144FPS据我所知在1080P60FPS档是可以的,不会被二压

回归正题,根据我多年的实验,不被二压的关键在于level<=4.1(想了解 level 参数你可以看这里

因为 1080P60FPS 的level=4.2,超过了二压线,因此会被二压,因此我们要做的仅仅只是让B站“认为”我们上传的视频的 level 只有4.1就好了,而且视频码率控制在3000K内,就不会被二压

在视频压制时加上--level 4.1 --level-force参数,可以让程序强制把 level 信息写成4.1,由于这个值并不是每次都通过后期计算得出的,而是视频文件信息中写死的,因此B站的视频转码机制并“不知道”我们偷改了这个信息

万用方法

如果你压制参数与我的傻瓜式批处理脚本不同,你也可以制作适合你自己用的批处理脚本

步骤:

  1. 使用小丸工具箱按照你需要的参数配置好,并进行一次压制(注意码率在3000K以内)
  2. 压制完成后不要关闭日志窗口,而是点击左下角的“导出日志”,导出成文件
  3. 查看日志文件,找到小丸工具箱调用过的命令,将它们按顺序复制出来
  4. 向视频压制相关命令中加入--level 4.1 --level-force参数
    不过可能并不是所有编码器都有这个参数,具体我并不了解,你可以自行在命令行中查看编码器的帮助信息
  5. 仿造懒人脚本中
    1
    2
    SET fullpath=%1 SET filename=%~n1

    的相关使用,将你得到的命令写成一个.bat批处理,这样就能方便的对单个视频文件进行处理了

  6. 如果你了解 Windows 的 bat 批处理,你也可以自行改造成能应对多个文件或者目录的批处理(加点判断和for循环的事情,不过因为我自己没有需求所以不会给出示例)
搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH26FXH3HIQ
年付$28CN2线路,1核/512M内存/10G硬盘/500GB@1Gbps【点击购买】(经常售罄,请抓紧机会)
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买
最后修改:2019 年 08 月 12 日 03 : 42 PM
如果觉得我的文章对你有用,请随意赞赏

文章信息

中二病患者: 神代綺凜  发布时间:2018 年 04 月 19 日  28987 次浏览   50 条评论  3914 字数 分类: 教程


路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部