找回密码
 立即注册
搜索

[硬件] ffmpeg用av1编码器压片,交流下压片设置

[复制链接]
     
发表于 2024-7-2 23:24 | 显示全部楼层
本帖最后由 zhguyu 于 2024-7-2 23:28 编辑
uneedme 发表于 2024-7-2 22:07
x264 变帧率 隔行扫描 自适应scale(那个功能的正式名字忘了......) 之类的 都没从标准h264上扒下来

很 ...

你的问题就是你甚至没有搞清楚一些基本的概念
从H.264/AVC开始,这些视频编码都不是某一个组织单独开发的,而是ITU-T下属的视频编码专家组VCEG(Video Coding Experts Group)和国际标准化组织ISO下属的动态影像专家组MPEG(Moving Picture Expert Group)联合开发的,他们两拨人成立了一个联合视频小组(Joint Video Team)来共同主导视频编码的开发。因为是两个组织共同开发的,所以最后制定的标准会分别由ITU-T和ISO来颁布,比如H.264/AVC在ITU-T颁布的标准中的名字就叫H.264,在ISO颁布的标准里叫ISO/IEC 14496-10 MPEG-4 Part 10: Advanced Video Coding简称AVC。所以H.264和AVC本质上就是同一个东西的不同叫法,同理H.265和HEVC也只是同一个东西的不同叫法而已!!!所以你说“并没有可以区分hevc和x265的含义”就是不知所云,因为这俩东西就不是一回事,x265只是基于H.265/HEVC标准的一种编码器实现而已。因为x265是一个HEVC的编码器所以doom9里的版块叫那个名字。
而同理H.266/VVC也是一样的,而且早在2020年就已经发布成为正式标准了
ITU-T标准链接:https://www.itu.int/rec/T-REC-H.266/en
ISO标准链接:https://www.iso.org/standard/83531.html
“doom9上并没有官方组织或者公司提供编码器的使用”这不是当然的吗,哪家商业公司会把自己开发的用来赚钱的编码器放在一个讨论盗版的论坛上。商业编码器有很多,仅仅说国内,就有比如b站开发的BILIVVC、阿里开发的Ali266、腾讯开发的Tencent266和网易开发的NE265之类的。之所以你没见过他们是因为他们都是用于各自的服务的,比如b站就是用来压自己的视频,阿里就是提供给那些租了阿里云计算的客户使用。x265用的多不是因为他有多好,而是因为他已经是普通人能接触到的开源编码器里矮子里拔将军的了。国外也有MainConcept公司开发的商用HEVC编码器,如果你想办法联系他们购买就可以用。说到底像是UHD蓝光压制之类的任务根本不会考虑用开源编码器,因为根本就不是一条赛道上的。
回复

使用道具 举报

     
发表于 2024-7-3 19:14 | 显示全部楼层
本帖最后由 uneedme 于 2024-7-3 19:21 编辑
zhguyu 发表于 2024-7-2 23:24
你的问题就是你甚至没有搞清楚一些基本的概念
从H.264/AVC开始,这些视频编码都不是某一个组织单独开发的 ...

别的都对

但是x265不是因为有商业编码起名叫x265了

x就是代表rip 扒下来的xxx

咱们用的都是不一定符合工业标准的民间编译版 即便和认证的商业编码编译版本一个字节都不差

我从一开始就说的是这个

你说的 一致  又不一致 又一致

你说的都对

你想证明什么 你怎么说就是了

我只想概念上 表达一些事 你非要所有的内容核实求证 就是为了证明我说的不对 那你就得无懈可击 不能有一点错误

事实证明 你也做不到

不过既然你喜欢 请你继续
回复

使用道具 举报

     
发表于 2024-7-3 20:39 | 显示全部楼层
本帖最后由 zhguyu 于 2024-7-4 18:17 编辑
uneedme 发表于 2024-7-3 19:14
别的都对

但是x265不是因为有商业编码起名叫x265了

你也太会脑补了 还x265代表rip
“x265不是因为有商业编码起名叫x265了”谁问你了?
说到底,最早的x264就是一个个人开发者在业余开发的娱乐项目,后来被盗版网站的人发掘出来才一步步完善最后被VideoLAN收编,而x265只是继承了这个名字而已。你要不去问问x264的原作者Laurent Aimer为啥他起了这个名字?


—— 来自 S1Fun
回复

使用道具 举报

     
 楼主| 发表于 2024-7-4 18:42 | 显示全部楼层
本帖最后由 普通论坛用户 于 2024-7-16 15:29 编辑

一个编码器的命名还吵起来?

VVC个人用途没事,但以后不排除博客、私人网站播放视频的可能性,自然用AV1好,省下一笔版税费

python写了简单脚本,详见一楼
回复

使用道具 举报

     
发表于 2024-7-5 21:41 | 显示全部楼层
本帖最后由 uneedme 于 2024-7-5 22:28 编辑
zhguyu 发表于 2024-7-3 20:39
你也太会脑补了 还x265代表rip
“x265不是因为有商业编码起名叫x265了”谁问你了?
说到底,最早的x264就 ...

https://i.postimg.cc/3RXdkFC7/20240705213608.png

https://imgse.com/i/pkRI2QK

videolan 自己都不敢认收编的事 你楞给认下了

我混doom9那么久 第一次听说你说那些

你真的厉害了



https://postimg.cc/87BrSgWg

https://imgse.com/i/pkRIhee

我混了17年编码圈 让你给我上了历史课了 我有了很多17年没获得的新知识


你说得对



都对


你真是人才


不世出的英才






Laurent Aimer?吗



我发个pm问问他......




我不记得谁说的 但是记得是x264小组的说的


x是rip rip下来的h264


我都说了 你想证明别人有问题 你得无懈可击

偏偏喜欢撞钢板?......

我不知道你是听谁说的

偏偏我就是混这个编码圈子的

............

愣敢说?(我说了半天doom9你都不知道 我就知道你什么情况了)

..................

........................

............


这跟盗不盗版就没关系 中国的国家标准AVS编码 也是山寨的avc/h264编码

绕开专利 就是免费的 自己编译非商业用途的 也是免费的

我一开始 说的只是这个

我一混编码圈的 到让你给我上历史课了 合着我这么些年......

............


好吧...

你说得对






回复

使用道具 举报

     
发表于 2024-7-6 07:24 | 显示全部楼层
uneedme 发表于 2024-7-5 21:41
https://i.postimg.cc/3RXdkFC7/20240705213608.png

https://imgse.com/i/pkRI2QK


IMG_1631.PNG
IMG_1632.PNG

x264 repo的owner是videolan的president,maintainer也主要都是videolan的人,代码的主要贡献者也顶着videolan的邮箱,我不觉得说它被videolan收编了有什么问题。而且这造成的另外一个后果就是即使mcw已经接手x265这么多年了,现在他们发消息还在用videolan的mailing list,patman和jpsdr他们之所以能发掘出那么多没合并进x265主分支的patch靠的就是视奸这个mailing list。
我为什么知道,因为我在日常视奸doom9的x265专楼啊。我之前的回复没有提doom9难道不是因为他和讨论的内容没什么关联吗,难道看到一个关键词就一定要回复吗。
而且说到底,打一开始我回复你难道不是因为你的回帖会误导可能想要从这个帖子里学习知识的人吗,你的发言有问题和你混了17年有什么关系。你可以把我回复的内容当作不是跟你说的而是跟那些其他看这个帖子的人说的,你可能不在乎这些概念性的东西,但是如果有新人看到了只会被绕进去,我认为把一些事情讲清楚是很有必要的。

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-7-6 07:35 | 显示全部楼层
普通论坛用户 发表于 2024-7-4 18:42
一个编码器的命名还吵起来?

VVC个人用途没事,但以后不排除博客、私人网站播放视频的可能性,自然用AV1好 ...

我觉得不用担心专利的问题,专利池怎么着也不会砸到个人头上去的。真正不确定的一是未来的硬件解码支持,最近好像就听说intel的lunar lake开始支持vvc硬编解码了,而且vvc的专利池相比hevc也没什么长进,说不定google他们又会暗戳戳的排挤,就算硬件支持解码在chrome里也不让你用;二是aomedia那帮人本身还会对av1维护多久,毕竟av2都已经在开发了。感觉再过几年就会变成hevc、av1、av2、vvc同时竞争的混乱局面。当年h.264为了和微软的vc-1竞争直接宣布十年内**,现在出现av1这个比vc-1更厉害的对手这帮手握专利的老登们反而一口也不愿意松,令人感慨。
回复

使用道具 举报

     
发表于 2024-7-6 07:35 | 显示全部楼层
普通论坛用户 发表于 2024-7-4 18:42
一个编码器的命名还吵起来?

VVC个人用途没事,但以后不排除博客、私人网站播放视频的可能性,自然用AV1好 ...

我觉得不用担心专利的问题,专利池怎么着也不会砸到个人头上去的。真正不确定的一是未来的硬件解码支持,最近好像就听说intel的lunar lake开始支持vvc硬编解码了,而且vvc的专利池相比hevc也没什么长进,说不定google他们又会暗戳戳的排挤,就算硬件支持解码在chrome里也不让你用;二是aomedia那帮人本身还会对av1维护多久,毕竟av2都已经在开发了。感觉再过几年就会变成hevc、av1、av2、vvc同时竞争的混乱局面。当年h.264为了和微软的vc-1竞争直接宣布十年内无料使用,现在出现av1这个比vc-1更厉害的对手这帮手握专利的老登们反而一口也不愿意松,令人感慨。
回复

使用道具 举报

     
发表于 2024-7-6 10:20 | 显示全部楼层
跑题有点厉害....

我现在用的这个参数压制保存老动画看, 有啥修改建议吗?

  1. -c:v av1_nvenc -vf "scale=-1:720" -rc vbr -multipass qres -highbitdepth true -cq 32 -preset p5 -c:a libopus -strict -2
复制代码
回复

使用道具 举报

     
发表于 2024-7-6 10:22 | 显示全部楼层
或者求一个能用nvenc压2D动画能有vmaf 95分左右的参数.....
回复

使用道具 举报

发表于 2024-7-6 10:22 | 显示全部楼层
以前都是MeGUI+avs 现在技术进步了吧
回复

使用道具 举报

     
 楼主| 发表于 2024-7-6 11:34 | 显示全部楼层
风夏 发表于 2024-7-6 10:22
或者求一个能用nvenc压2D动画能有vmaf 95分左右的参数.....

ab-av1?拉取git构建执行程序,用ab-ab1 -h查的帮助文本,交给AI帮忙翻译,命令可能是

  1. ab-av1 auto-encode -i "原视频文件路径" -e av1_nvenc --vfilter "scale=-1:720" --enc rc=vbr --enc multipass=qres --enc highbitdepth=true --enc cq=32 --enc preset p5 --enc c:a=libopus --enc strict=-2  --max-crf 60 --min-crf 5 --min-vmaf 95
复制代码


我的显卡是3080,没法支持av1_nvenc编码器,不知道命令对不对

AI翻译的帮助文本:
C:\Users\Administrator>ab-av1 -h
AV1编码使用快速VMAF采样

用法: ab-av1 <COMMAND>

命令:
  sample-encode      编码并分析输入样本以预测整个编码过程的表现。
                         这比完整的编码/VMAF运行快得多。
  vmaf               完整的VMAF得分计算,失真文件与参考文件对比。
                         可用于视频和图像。
  encode             调用ffmpeg来编码一个视频或图像
  crf-search         使用sample-encode进行插值二分搜索以找到提供最小vmaf和最大编码百分比的最佳crf值。
  auto-encode        自动确定提供最小vmaf的最佳crf值,并用它来编码一个视频或
                         图像。
  print-completions  打印shell补全
  help               打印此消息或给定子命令的帮助信息

选项:
  -h, --help     打印帮助
  -V, --version  打印版本

C:\Users\Administrator>ab-av1 auto-encode -h
自动确定提供最小vmaf的最佳crf值,并用它来编码一个视频或图像。

用法: ab-av1 auto-encode [OPTIONS] --input <INPUT>

选项:
  -e, --encoder <ENCODER>
          编码器覆盖。参见https://ffmpeg.org/ffmpeg-all.html#toc-Video-Encoders [默认: libsvtav1]
  -i, --input <INPUT>
          输入视频文件
      --vfilter <VFILTER>
          在av1编码前应用于输入的ffmpeg视频滤镜。例如--vfilter "scale=1280:-1,fps=24"
      --pix-format <PIX_FORMAT>
          像素格式。svt-av1默认yuv420p10le [可能的值: yuv420p, yuv420p10le, yuv444p10le]
      --preset <PRESET>
          编码器预设(0-13)。更高的预设意味着更快的编码,但有质量折衷
      --keyint <KEYINT>
          关键帧之间的间隔。可以指定为帧数,或持续时间。例如"300"或"10s"。
          如果输入时长超过3分钟,默认为10秒
      --scd <SCD>
          Svt-av1场景变化检测,在场景变化处插入关键帧。如果使用默认关键帧间隔且输入时长超过3分钟,默认开启。
          否则关闭 [可能的值: true, false]
      --svt <SVT_ARGS>
          额外的svt-av1参数。例如--svt mbr=2000 --svt film-grain=8
      --enc <ENC_ARGS>
          额外的ffmpeg编码参数。例如`--enc x265-params=lossless=1` 这些将作为ffmpeg输出文件选项添加
      --enc-input <ENC_INPUT_ARGS>
          额外的ffmpeg输入编码参数。例如`--enc-input r=1` 这些将作为ffmpeg输入文件选项添加
      --min-vmaf <MIN_VMAF>
          需要提供的最小VMAF分数 [默认: 95]
      --max-encoded-percent <MAX_ENCODED_PERCENT>
          输入大小的最大期望编码大小百分比 [默认: 80]
      --min-crf <MIN_CRF>
          尝试的最小(最高质量)crf值 [默认: 10]
      --max-crf <MAX_CRF>
          尝试的最大(最低质量)crf值
      --thorough
          直到找到不超过min_vmaf+0.05的crf或尝试了所有可能性才停止搜索
      --crf-increment <CRF_INCREMENT>
          恒定速率因子搜索增量精度
      --cache <CACHE>
          启用sample-encode缓存 [环境变量: AB_AV1_CACHE=] [默认: true] [可能的值: true, false]
      --samples <SAMPLES>
          在输入视频中使用的20秒样本数量。覆盖--sample-every。更多样本需要更长时间,但
          可能提供更准确的结果
      --sample-every <SAMPLE_EVERY>
          通过将输入时长除以此值来计算样本数量。因此"12m"意味着对于25-36分钟长的输入,
          将使用3个样本。更多样本需要更长时间,但可能提供更准确的结果 [默认: 12m]
      --min-samples <MIN_SAMPLES>
          最小样本数量。因此至少会使用这么多样本
      --keep
          退出后保留临时文件
      --temp-dir <TEMP_DIR>
          存储临时样本数据的目录。默认情况下,使用输入所在的目录 [环境变量: AB_AV1_TEMP_DIR=]
      --vmaf <VMAF_ARGS>
          额外的vmaf参数。例如--vmaf n_threads=8 --vmaf n_subsample=4
      --vmaf-scale <VMAF_SCALE>
          在VMAF分析中使用的视频分辨率缩放。如果设置,视频流将在VMAF分析期间双三次缩放到此宽度。
          `auto`(默认)根据模型和输入视频分辨率自动设置。`none`禁用任何缩放。
          可以使用`WxH`格式指定自定义缩放,例如`1920x1080` [默认: auto]
  -o, --output <OUTPUT>
          输出文件,默认情况下与输入相同,只是在扩展名前加上`.av1`
      --acodec <AUDIO_CODEC>
          设置输出ffmpeg音频编解码器。默认情况下使用'copy'。否则,如果需要重新编码,
          默认使用'libopus'
      --downmix-to-stereo
          如果输入流使用大于3个通道,则将输入音频流下混至立体声
      --video-only
          只处理主视频流,丢弃所有其他流
  -h, --help
          打印帮助(使用'--help'查看更多)
回复

使用道具 举报

发表于 2024-7-6 11:52 来自手机 | 显示全部楼层
经常看到各位大佬在讨论压片,但是一直不太懂。各位都是自己买原盘,为了保存方便自己压成视频?网上BT/PT不是一大堆压现成的么,我记得也有专门的压制组。还是说各位大佬就是压制组的成员?

—— 来自 鹅球 v3.0.0.82-alpha
回复

使用道具 举报

     
 楼主| 发表于 2024-7-6 11:59 | 显示全部楼层
苇原雪道 发表于 2024-7-6 11:52
经常看到各位大佬在讨论压片,但是一直不太懂。各位都是自己买原盘,为了保存方便自己压成视频?网上BT/PT ...

压制组?只是为了更好保存视频,有些视频网上没人放流,也没啥人压制,例如Patreon、小众网站某些作者放出的原片

压好后分享到网上,能节约磁盘空间,也能给下载者加快下载速度

如果我有钱,每月有闲钱买100块8T硬盘,宽带网速1G/s,我才懒得研究压制
回复

使用道具 举报

     
发表于 2024-7-6 12:50 | 显示全部楼层
一个讨论压片的帖子愣是被各种名词论战给占了那么多楼,真没必要
我记得有种偷懒方法,直接传youtube,谷歌帮忙压
回复

使用道具 举报

     
发表于 2024-7-6 13:43 | 显示全部楼层
我落伍了,还在用ShanaEncoder压HEVC
回复

使用道具 举报

     
 楼主| 发表于 2024-7-6 15:18 | 显示全部楼层
寺胖 发表于 2024-7-6 13:43
我落伍了,还在用ShanaEncoder压HEVC

有啥落伍的,ab-av1和ShanaEncoder都是基于ffmpeg压制片子的工具,SVT-AV1好几年前就已经出了
回复

使用道具 举报

     
 楼主| 发表于 2024-7-6 15:19 | 显示全部楼层
=w= 发表于 2024-7-6 12:50
一个讨论压片的帖子愣是被各种名词论战给占了那么多楼,真没必要
我记得有种偷懒方法,直接传youtube,谷歌 ...

上传体积论T的视频,梯子流量够用?
回复

使用道具 举报

     
发表于 2024-7-6 22:35 | 显示全部楼层
本帖最后由 uneedme 于 2024-7-6 22:46 编辑
zhguyu 发表于 2024-7-6 07:24
x264 repo的owner是videolan的president,maintainer也主要都是videolan的人,代码的主要贡献者也顶 ...

2015年创建的videolan repo......就把x264收编了?

因为mailing list?????

你为了证明...... 越说越离谱了......

因为遗产?的维护者? 用这个mailing list 就是被收编了......

好吧 你无非就是想证明 你说的都对呗

我没时间翻几十年的帖子 几十年的记录

但是因为只是共用mailing list 就是被收编了......你真是汇总信息的能力很强

本着 谁质疑谁举证的原则 我举证不了了

你赢了

不世出的英才啊


从来没听说过的事 让你给证明了

太有才了

厉害!

几十年的历史悬案 让你给解决了


不世出的英才!



我一开始也没误导人

从前倒到尾 我也证明了我没误导人

你这一路无非就是想证明 你说的对 别人说的不对


好吧 我证明了 我没扣上误导人的帽子 我也就知足了

我没时间翻历史卷宗 所以你赢了


厉害! 不世出的英才
回复

使用道具 举报

     
发表于 2024-7-7 00:58 | 显示全部楼层
uneedme 发表于 2024-7-6 22:35
2015年创建的videolan repo......就把x264收编了?

因为mailing list?????

repo里显示2015年是因为x264的repo在2015年才迁移到GitLab上,因为我平常需要自己编译x264所以对这件事有印象。实际上,从wayback machine来看至少从2007年开始x264的repo就一直是由videolan来host的。
https://web.archive.org/web/2007 ... evelopers/x264.html
顺带一提,之前我提到过的x264原作者Laurent Aimer,他的工作邮箱是fenrir@videolan.org

我不是想给你扣误导人的帽子,只是reddit刷多了总是遇到那种问x264和h264哪个更好的萌新,所以对于可能会让萌新迷惑的发言会比较敏感,想要解释清楚。
回复

使用道具 举报

     
发表于 2024-7-7 08:22 | 显示全部楼层
本帖最后由 zhguyu 于 2024-7-7 08:32 编辑

为了测试SVT-AV1相比x265到底有多大的优势,抽空测了一组数据。
测试用的视频是Sintel 4K的11000~12000帧,分辨率为4096x1744,原视频为8-bit 40 Mbps CBR。判断标准是VMAF vs 平均码率。
参与测试的三个编码器是:
x264 r3191
x265 3.6+13+1 [Mod by Patman]
SVT-AV1 2.1.0
对于每个编码器,使用2-pass ABR模式从1000到20000 kbps每隔1000 kbps测试一组数据,总计20组。
使用的参数为:
x264: --preset veryslow --slow-firstpass
x265: --preset veryslow
SVT-AV1: --preset 2 --tune 0
结果如下:
IMG_1663.PNG
可以看到SVT-AV1相比x265在任何码率下都有压缩率上的优势,在低码率下尤为显著,尽管这种优势并未达到代差的程度。
另外对比了x265和SVT-AV1的Min. VMAF,即压缩的1000帧中画质最差的一帧的表现,结果如下:
IMG_1664.PNG
结果说明x265在画质的分布上更加稳定,即使到了高码率下SVT-AV1也很难将最低值提到90以上。
另外,在测试的过程中发现了一个PotPlayer的bug,在勾选了“10位输出”这个选项之后8-bit的AV1视频播放会变得像吃了菌子一样:
屏幕截图 2024-07-07 013147.png
TODO:添加每帧VMAF值的分布图
TODO2:测试nvenc、vvenc和uvg266的数据

回复

使用道具 举报

     
 楼主| 发表于 2024-7-7 10:57 | 显示全部楼层
uneedme 发表于 2024-7-6 22:35
2015年创建的videolan repo......就把x264收编了?

因为mailing list?????

@zhguyu @uneedme 能不能另开新帖讨论h264的命名吗?讨论内容和主贴av1没啥关系
回复

使用道具 举报

     
 楼主| 发表于 2024-7-7 11:06 | 显示全部楼层
本帖最后由 普通论坛用户 于 2024-7-7 11:23 编辑
zhguyu 发表于 2024-7-7 08:22
为了测试SVT-AV1相比x265到底有多大的优势,抽空测了一组数据。
测试用的视频是Sintel 4K的11000~12000帧 ...

SVT-AV1画质分布的稳定性比H265更差一些,这点我没想到的,如果提供手绘2D、真人视频的编码时间、文件大小等的对比图就更好了

2D、真人视频等不同特征的视频(包括少量运动、剧烈运动的镜头等),复杂的画面镜头进行编码更能表现编码器的性能,2D是最好压的

对于批量编码视频,个人只用默认设置CRF,用恒定速率因子保持一致的画质
回复

使用道具 举报

     
发表于 2024-7-7 11:38 来自手机 | 显示全部楼层
zhguyu 发表于 2024-7-7 08:22
为了测试SVT-AV1相比x265到底有多大的优势,抽空测了一组数据。
测试用的视频是Sintel 4K的11000~12000帧 ...

有速度方面的对比吗?
回复

使用道具 举报

     
发表于 2024-7-7 11:38 来自手机 | 显示全部楼层
风夏 发表于 2024-6-28 20:04
咨询一下,用nvenc压比svt差在哪里?

好像你们都不用显卡?

显卡压画质和体积都不如CPU,你可以理解为慢工出细活
回复

使用道具 举报

头像被屏蔽
发表于 2024-7-7 12:47 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2024-7-7 12:56 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-7-7 17:10 | 显示全部楼层
琴酒 发表于 2024-7-6 10:22
以前都是MeGUI+avs 现在技术进步了吧

如果不想用命令行的话,那现在主流应该是handbrake+vapoursynth
vapoursynth可比avisynth好用太多了,包括但不限于:原生多线程,比avisynth MT更快更省心;vsrepo自动安装插件;大量专属插件;使用vapoursynth editor 2可以做到即时预览,等等。
自从vs加入音频编辑的功能以来,现在继续用avs的意义越来越小了。

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-7-7 17:16 | 显示全部楼层
本帖最后由 zhguyu 于 2024-7-7 19:35 编辑
普通论坛用户 发表于 2024-7-7 11:06
SVT-AV1画质分布的稳定性比H265更差一些,这点我没想到的,如果提供手绘2D、真人视频的编码时间、文件大小 ...

速度和体积我没办法提供,我这次用的是2-pass,这主要是图方便,可以稳定地在1-20mbps之间取20个点,这也导致每次压制要走两个pass,而我只记录了第二个pass的速度,除非使用powershell或者python来统计命令执行的时间,但我一开始没想到这点,等想起来的时候已经全部压完了……
而体积方面因为用的是目标码率所以体积大致是一样的。

总的来说,如果想要速度vs体积的话,那主流的方法应该是bdrate vs speed,但是测bdrate有点太麻烦了,我看有空的时候能不能做吧。

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-7-7 17:19 | 显示全部楼层
蒜灵 发表于 2024-7-7 11:38
有速度方面的对比吗?

因为忘了统计,我只能大概说
svtav1 preset 2在2-pass下最终速度和x265 veryslow差不多,这主要是因为svtav1的pass 1太tm快了,几乎是瞬间完成,我怀疑它的帧质量分布差异大也是这个原因导致的
详细的速度我以后测一组bdrate vs size再说

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-7-7 17:21 | 显示全部楼层
另外我测试的视频之所以选用Sintel就是因为它的场景特别复杂,这点自己下载下来看一眼立马就能明白。复杂到会引发密集恐惧症的程度

—— 来自 S1Fun
回复

使用道具 举报

     
 楼主| 发表于 2024-7-8 00:41 | 显示全部楼层
本帖最后由 普通论坛用户 于 2024-7-8 00:44 编辑
zhguyu 发表于 2024-7-7 17:19
因为忘了统计,我只能大概说
svtav1 preset 2在2-pass下最终速度和x265 veryslow差不多,这主要是因为svt ...

@蒜灵 preset 2和veryslow,对于一般人来说有些慢了,只适用于有闲置电脑/服务器的人士,24小时压缩一部十几G的电影,可能48H都不够用,时间效率低了

个人设置预设5或6,虽然https://gitlab.com/AOMediaCodec/ ... /CommonQuestions.md 没提4~9差别在哪里,压片压了150多G了,CPU保持99%占用率已经跑了三天,其中有一次电脑卡成翔(鼠标移动无反应,键盘按键也无反应……)

svtav1文档提到用4~6比较符合实际需求(编码时间/压片质量)

评分

参与人数 1战斗力 +2 收起 理由
SmterC + 2 感谢压片脚本

查看全部评分

回复

使用道具 举报

     
发表于 2024-7-8 03:02 | 显示全部楼层
本帖最后由 zhguyu 于 2024-7-8 03:57 编辑

BD-rate/速度测试比预想中做得要快,一天就搞定了。

测试片段依然是Sintel 4K的11000-12000帧。测试环境是AMD Ryzen 7 7840HS (8c16t),32 GB DDR5 5600 MT/s内存。
先上图:
bdrate.png
稍微解释一下这个图要怎么看。纵坐标是BD-rate,也就是在相同画质(此处以VMAF为基准)下需要的码率/体积,-20%就意味着在相同画质下需要的码率降低20%;横坐标是时间,同样是百分比,200%就意味着在同画质下需要的编码时间翻倍。结合到一起就是,比如和Preset 5对比的话,Preset 2可以在达到相同画质的情况下需要的码率降低11%,但代价是编码消耗的时间变为原本的6.1倍。
另外这张图里x265只能当作一个不严谨的参考,原因如下:
time.png
可以看到,在其它参数不变的情况下,x265随着码率提升编码时间也大幅提升,从crf 30到15的编码时间提升了121%,而相比之下SVT-AV1只提升了19%。所以图里平均过的x265的速度是很不准确的。另外还有一个原因是,我用的svtav1是我自己用clang编译的,而x265则是用的别人用gcc编译的,因为我自己平常用的x265是10bit的,懒得为了测试专门再编译一个8bit版,所以就直接从网上下了一个。根据https://www.phoronix.com/review/gcc14-clang18-amd-zen4/4,svtav1用gcc会比较快,x265用clang会比较快。

1. 我故意选用了一个特别麻烦的视频片段,4K分辨率加极其复杂的场景使得编码器的性能变化会被放大。如果压制1080p的视频,或者场景很简单(比如大部分2D手绘动画)的话,实际上的差距会变小。
2. 为了算出BD-rate,在每种preset下我要测4个点位(我选择的是crf 30/25/20/15),但即使如此也只是刚刚满足了算出BD-Rate的基本要求,实际上点位越多,曲线拟合就越好,算出来的结果也越准确,但是那样花的时间就太久了。
3. 计算BD-rate的脚本来自https://github.com/tbr/bjontegaard_etro
4. Preset 6和7在一起是因为SVT-AV1就是这么设计的,你输入6程序会自动帮你改成7。

实际上我们能从图里得到的信息很少,因为它不符合选择preset时的基本思路。正确思路是选择你能接受的速度范围内最慢的那一个,就这么简单。这需要你在实际压制之前进行测试,但是这些测试对于好的压制是非常必要的。

回复

使用道具 举报

     
发表于 2024-7-8 07:14 来自手机 | 显示全部楼层
这是软压吗 是为了兼容性还是效果没用硬压?因为40系不支持硬压av1本来想等50系的 结果还是没勾住
回复

使用道具 举报

     
 楼主| 发表于 2024-7-8 12:50 | 显示全部楼层
zhguyu 发表于 2024-7-8 03:02
BD-rate/速度测试比预想中做得要快,一天就搞定了。

测试片段依然是Sintel 4K的11000-12000帧。测试环境是 ...

preset1~9,从高到低意味着解码性能的负担增加,如果使用preset1~3,某些低功率低性能的设备播放av1视频可能会出现轻微的卡顿现象,文档建议更高的预设降低解码负担
https://gitlab.com/AOMediaCodec/ ... ecoding-performance

身边没低端设备,不清楚av1编码在不同设备的解码性能如何

如果使用keyint 10s、合成颗粒之类的参数(文档推荐参数设置),电脑配置i5-12600kf 64G DDR4 gtx3080,视频存的机械硬盘,播放视频时有轻微的卡顿,感官上流畅性不如原片(x264编码)
回复

使用道具 举报

     
发表于 2024-7-8 16:26 | 显示全部楼层
普通论坛用户 发表于 2024-7-8 12:50
preset1~9,从高到低意味着解码性能的负担增加,如果使用preset1~3,某些低功率低性能的设备播放av1视频 ...

film grain synthesis/denoise并不是一个应该一直打开的功能。它针对的是那些摄像机在拍摄时所加入的噪点、以及在DVD/BD压制过程中被人为加入的人工噪点。这些噪点的强度在每个视频里都不一样,而film grain denoise会不可避免地同时抹掉一些画面细节。所以保守来看打开它以及设置一个统一的强度不见得是最好的选择。
RTX30系显卡是支持硬解AV1的啊,应该不至于压力大到会卡顿吧。keyint 10s所造成的影响也取决于视频帧率,如果是60fps的话那每次随机跳转在最差的情况下需要解码600帧,那可能是会有点问题。一般keyint设置不推荐超过300帧。

—— 来自 S1Fun
回复

使用道具 举报

     
 楼主| 发表于 2024-7-11 10:54 | 显示全部楼层
本帖最后由 普通论坛用户 于 2024-7-11 13:39 编辑
zhguyu 发表于 2024-7-8 16:26
film grain synthesis/denoise并不是一个应该一直打开的功能。它针对的是那些摄像机在拍摄时所加入的噪点 ...

嗯,你说得对,因为压的是老番,老番画质不太好有明显的噪点,比较新的2D视频没必要

联想y700二代的MXplay专业版(ver 1.78.6 ARMv8 NEON)播放av1视频有明显的延迟,改软解就好多了,但有轻微的延迟,即使更新至1.85版本也不如电脑播放流畅(可能是用的dav1d并不是很新)

下了https://github.com/mpv-android/mpv-android/releases 播放就流畅多了,没有轻微的延迟

网上搜了下,国产厂商搞了BILIAV1、TXAV1编码器

新闻:
https://multimedia.tencent.com/news/20220427001
https://www.bilibili.com/read/cv27833592/

腾讯的新闻提供的MSUAV1比赛,慢速编码腾讯是领先地位(SSIM、VMAF等分数),貌似比QAV1、AOM、SVT-AV1的编码性能更好一些?

image.png

当前比特率压缩最好的是Tencent266 v0.1 vvc,次先是BVC2(BVC编码器)


AV1排名最高是TXAV1编码器,x265x266也是腾讯编码器世界第一

开源AV1排名最高是SVT-AV1

编码器排名从高到低

VVC
Tencent266 v0.1
Tencent266 v0.2
wenc

BVC
BVC2
BVC1

AV1
Tencent TXAV1
XAV1
QAV1
SVT-AV1
rav1e

HEVC
Tencent V265
MainConcept HEVC
vo265
Reference x265

网上搜了下,没找到在哪能用TXAV1或TXVVC编码,只找到Tencent266 0.1解码器相关的:https://github.com/TencentCloud/O266player

回复

使用道具 举报

发表于 2024-7-11 18:11 | 显示全部楼层
话说av1压制出的片子对老设备兼容性如何?解码开销如何?

我压了很多264的结果放到一些老古董的mp4(指硬件)上根本不能播

顺便问问有人知道压psp能播的mp4到底关键是什么吗,参数基本都一样,但就是有的能放有的不能
回复

使用道具 举报

     
发表于 2024-7-11 18:52 | 显示全部楼层
普通论坛用户 发表于 2024-7-11 10:54
嗯,你说得对,因为压的是老番,老番画质不太好有明显的噪点,比较新的2D视频没必要

联想y700二代的MXpla ...

你看的有点老了,MSU比赛每年都会办的,建议直接上官网看
http://compression.ru/video/codec_comparison/index_en.html

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-7-11 19:01 | 显示全部楼层
takami 发表于 2024-7-11 18:11
话说av1压制出的片子对老设备兼容性如何?解码开销如何?

我压了很多264的结果放到一些老古董的mp4(指硬 ...


IMG_1720.PNG
这是某个网站测试的软编码/解码性能,只看软解的话HEVC和AV1开销差别不大,但实际上HEVC的硬解从十年前就已经普及了,所以这个比较意义不大。往大了说,真的想要兼容性就别用不能硬解的格式,所以结论是不要在老设备上用AV1。

PSP只支持Baseline和Main Profile,而x264默认High Profile,这可能是个问题,除此之外要看的就是Level,不过如果你是按照PSP的480x272分辨率来压的话那默认的Level应该不是问题。

—— 来自 S1Fun
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-28 09:19 , Processed in 0.184838 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表