Chiphell - 分享与交流用户体验

标题: AMD的AV1编码器还是不支持B-Frame,又从一开始就落后了 [打印本页]

作者: 硝基苯    时间: 2023-5-23 13:53
标题: AMD的AV1编码器还是不支持B-Frame,又从一开始就落后了
刚刚看了Tom's hardware的硬件编码器对比,看到RDNA3的AV1编码速度遥遥领先,当即惊为天人,随后再AMF的文档里面一查,发现到现在HEVC和AV1都不支持B-Frame,只有AVC支持,真是无语 。看来下一台媒体服务器又不用考虑RDNA3架构的APU了。
作者: 硝基苯    时间: 2023-5-23 13:55
明明手握赛灵思的那么多解码器IP,怎么就不好好选一个放到RDNA3上面呢,还抱着自己的那套VCN不放。
作者: 周喆    时间: 2023-5-23 14:19
论坛不是有人试过了,速度快质量拉胯吗
作者: tim6252    时间: 2023-5-23 14:36
原来还有这种编码,我只用过PR里,264 265
作者: 硝基苯    时间: 2023-5-23 14:42
tim6252 发表于 2023-5-23 14:36
原来还有这种编码,我只用过PR里,264 265

264就是AVC,265就是HEVC,intel和nvidia在AVC、HEVC、AV1都支持b-frame,AMD只有AVC支持b-frame。
作者: 大头吃小头    时间: 2023-5-23 14:45
amd收购ati好几年以后才正式取消ati品牌

赛灵思这才几年...
人估计刚认识全吧
作者: zxy2001    时间: 2023-5-23 14:48
RDNA4 可以期待一下
作者: yahochina    时间: 2023-5-23 14:49
管他支不支持b-frame,还要看压完的片子整体质量。
作者: Misaka_9993    时间: 2023-5-23 15:34
编解码无脑intel就完事了,有cuda需求就nvidia。
amd。。。只能拿来玩游戏
作者: BetaHT    时间: 2023-5-23 15:37
弱问,什么地方要用到b帧,没有它会导致什么结果?
作者: 硝基苯    时间: 2023-5-23 15:40
BetaHT 发表于 2023-5-23 15:37
弱问,什么地方要用到b帧,没有它会导致什么结果?

I帧为关键帧,P帧会参考前面的帧的信息来编码,B帧则会参考前面和后面的帧来编码,I帧是单向预测,B帧则为双向预测。
一句话说就是有了B帧支持后,编出来的视频同码率下画质更好、同画质下码率更低。
作者: JP_ToKyo    时间: 2023-5-23 15:41
yahochina 发表于 2023-5-23 14:49
管他支不支持b-frame,还要看压完的片子整体质量。

AMD不是質量最差的嗎
作者: atiufo    时间: 2023-5-23 15:51
yahochina 发表于 2023-5-23 14:49
管他支不支持b-frame,还要看压完的片子整体质量。

质量就更不要指望了,跟以前一个样,所以相对的编码速度贼快
作者: 卢奇亚诺    时间: 2023-5-23 15:57
能给个地址看看吗
作者: JP_ToKyo    时间: 2023-5-23 16:27
卢奇亚诺 发表于 2023-5-23 15:57
能给个地址看看吗

應該是這個
https://www.tomshardware.com/new ... ance-quality-tested
作者: 硝基苯    时间: 2023-5-23 16:29
这是AMD的AMF关于AV1 Codec的描述wiki,里面提到了B-frame只有AVC支持
https://github.com/GPUOpen-Libra ... /wiki/AV1%20Encoder
作者: tanrenye    时间: 2023-5-23 16:48
想要质量还是的CPU编码,我试过nv和Intel转出来的细节真的都差蛮多的
作者: 猪头小队长    时间: 2023-5-23 17:11
硝基苯 发表于 2023-5-23 15:40
I帧为关键帧,P帧会参考前面的帧的信息来编码,B帧则会参考前面和后面的帧来编码,I帧是单向预测,B帧则 ...

我觉得有点吹毛求疵了,那些压制组压缩的就是B帧,B帧原本就是最模糊的帧
你一个新的编码器还是按照过去的那种旧模式跑,那意义何在
好歹还是等一段时间,看以后效果再说
作者: BetaHT    时间: 2023-5-23 17:18
本帖最后由 BetaHT 于 2023-5-23 17:20 编辑
硝基苯 发表于 2023-5-23 15:40
I帧为关键帧,P帧会参考前面的帧的信息来编码,B帧则会参考前面和后面的帧来编码,I帧是单向预测,B帧则 ...


这么说那对普通人不是头等需要。在线不怎么考虑画质,本地的都用的h264,而且真追求画质都是用软解。。
看特性应该主要用途还是在在线视频上,也许手机上更有意义一些。
作者: BetaHT    时间: 2023-5-23 17:22
tanrenye 发表于 2023-5-23 16:48
想要质量还是的CPU编码,我试过nv和Intel转出来的细节真的都差蛮多的

是的,硬解相对软解我觉得差别还是挺大的。以前折腾了一圈硬解设置,发现效果不如以前,真感觉是被忽悠了。
作者: terry0086    时间: 2023-5-23 17:34
硝基苯 发表于 2023-5-23 15:40
I帧为关键帧,P帧会参考前面的帧的信息来编码,B帧则会参考前面和后面的帧来编码,I帧是单向预测,B帧则 ...

请问ffmpeg下b帧咋用呢?最好是用svtav1编码器下的命令。
作者: Endymions    时间: 2023-5-23 17:43
H264时代三家差距大   HEVC时代三家的质量已经差不多了 并且与CPU转码的质量差的不是太多
作者: 卢奇亚诺    时间: 2023-5-23 17:47
硝基苯 发表于 2023-5-23 15:40
I帧为关键帧,P帧会参考前面的帧的信息来编码,B帧则会参考前面和后面的帧来编码,I帧是单向预测,B帧则 ...

请问handbrake怎么开b帧,
作者: 硝基苯    时间: 2023-5-23 19:55
BetaHT 发表于 2023-5-23 17:22
是的,硬解相对软解我觉得差别还是挺大的。以前折腾了一圈硬解设置,发现效果不如以前,真感觉是被忽悠了 ...

照理说解码部分应该软解硬解区别不大呀,都是将编码后的数据还原为RGB数据,你确定不是渲染的问题?
作者: ykdo    时间: 2023-5-23 20:38
解码还是CPU得了。
作者: datura    时间: 2023-5-23 20:51
tanrenye 发表于 2023-5-23 16:48
想要质量还是的CPU编码,我试过nv和Intel转出来的细节真的都差蛮多的

那nv和intel谁又更好点呢?
作者: gartour    时间: 2023-5-23 20:51
BetaHT 发表于 2023-5-23 17:18
这么说那对普通人不是头等需要。在线不怎么考虑画质,本地的都用的h264,而且真追求画质都是用软解。。
...

不考虑画质:用了b帧可以做到体积更小。

考虑画质:用了b帧同体积下画质更好。
作者: 周喆    时间: 2023-5-23 21:33
ykdo 发表于 2023-5-23 20:38
解码还是CPU得了。

反了。编码用U,解码用解码器
作者: tanrenye    时间: 2023-5-23 21:35
datura 发表于 2023-5-23 20:51
那nv和intel谁又更好点呢?

intel好一点
作者: datura    时间: 2023-5-23 21:36
tanrenye 发表于 2023-5-23 21:35
intel好一点

谢谢。

作者: Endymions    时间: 2023-5-23 21:53
卢奇亚诺 发表于 2023-5-23 17:47
请问handbrake怎么开b帧,

你的显卡支持 他默认就是打开的 QSV默认B帧3
作者: Misaka_9993    时间: 2023-5-23 23:47
(, 下载次数: 22)

https://www.intel.com/content/ww ... tml#ENCODE-DISCRETE

QSV 的 AV1 编码器支持 Low Delay B,Random access B 和 B-Pyramid。B-frame 数量可以设为 7。
作者: sleele    时间: 2023-5-24 10:38
terry0086 发表于 2023-5-23 17:34
请问ffmpeg下b帧咋用呢?最好是用svtav1编码器下的命令。

这种问题,问Chat**是最简单的,以下是**4的回答


FFmpeg是一个非常强大的开源工具,可以对多媒体数据进行编解码,转码,流化,过滤和播放。-bf是用于设置B帧的参数。

在使用svtav1编码器时,你可能不能直接设置B帧的数量,因为SVT-AV1编码器具有自己的一套内部机制来决定何时使用B帧。SVT-AV1会基于输入内容和编码设置自动确定最佳的帧类型(I帧,P帧,或B帧)。

但是,你可以通过修改编码器的配置文件来改变这个行为。在SVT-AV1的配置文件中,hierarchical_levels参数决定了编码器在帧间预测时的层次结构,进而影响B帧的使用。其取值可以从0到6,数值越大使用的B帧越多。

此外,你可以通过设置-rc(率控制)参数来影响B帧的使用。例如,-rc 0使用恒定质量模式,这在很大程度上减少了B帧的使用;而-rc 1使用恒定比特率模式,这可能会增加B帧的使用。

具体的使用方式如下:

bash
Copy code
ffmpeg -i input.mp4 -c:v libsvtav1 -rc 1 -b:v 500k output.webm
在这个命令中:

-i input.mp4 是输入文件;
-c:v libsvtav1 设置使用svtav1编码器;
-rc 1 使用恒定比特率模式;
-b:v 500k 设置视频比特率为500 kbps;
output.webm 是输出文件。
希望这个答案可以帮到你!如果你有其他的问题,欢迎继续提问。




handbrake怎么开启b帧

Chat**
HandBrake是一款开源的视频转码工具,你可以通过修改编码器的参数来控制B帧的使用。

下面是如何在HandBrake中设置B帧的步骤:

打开HandBrake,点击 "Open Source" 选择你要转码的视频文件。
在 "Output Settings" 区域,选择你想要的输出格式。
点击 "Video" 标签,你将看到 "Video Codec" 和 "Framerate (FPS)" 等设置项。
在 "Encoder Options" 或 "Extra Options"(取决于你选择的编码器)中,你可以设置关于B帧的参数。
例如,如果你选择的是x264编码器,你可以在 "Extra Options" 中输入 bframes=3,这将设置每个GOP(组图)中的B帧数量为3。默认值通常为3,取值范围是0-16。

注意:在某些编码器(如SVT-AV1)中,你可能无法直接控制B帧的数量,因为它们使用了自己的决策机制来选择何时使用B帧。

完成以上设置后,点击 "Start" 开始转码。
在这里, "Extra Options" 区域允许你输入特定的编码器参数。这些参数的具体含义和可用的值取决于你选择的编码器,你可以查阅编码器的文档来获取详细信息。
作者: terry0086    时间: 2023-5-25 14:32
sleele 发表于 2023-5-24 10:38
这种问题,问Chat**是最简单的,以下是**4的回答

感谢。老片子都在转av1节省空间,就是不想买企业盘怕吵。。。
作者: melancholy05    时间: 2023-5-25 14:51
硝基苯 发表于 2023-5-23 16:29
这是AMD的AMF关于AV1 Codec的描述wiki,里面提到了B-frame只有AVC支持
https://github.com/GPUOpen-Librari ...

HEVC都不支持?那岂不是直接给现代视频生产力判了死刑
作者: 硝基苯    时间: 2023-5-25 14:58
melancholy05 发表于 2023-5-25 14:51
HEVC都不支持?那岂不是直接给现代视频生产力判了死刑

是啊,要不然A卡的生产力应用成绩怎么会是这么个鬼样子咧。
作者: linwzj    时间: 2025-3-14 18:22
handbrake新版本都已支持最新A卡N卡intel硬件加速编码AV1了,有条件的去试试吧
作者: Nospel    时间: 2025-3-14 18:46
纠结这干嘛?码率拉上去不管用?穷那点儿空间?仓鼠症又放弃治疗还没钱置办空间才纠结吧
作者: yuwl3000    时间: 2025-3-14 18:59
Misaka_9993 发表于 2023-5-23 15:34
编解码无脑intel就完事了,有cuda需求就nvidia。
amd。。。只能拿来玩游戏

真就这么回事,看看 rdna4 吧
作者: a350dth    时间: 2025-3-14 23:44
硝基苯 发表于 2023-5-23 14:42
264就是AVC,265就是HEVC,intel和nvidia在AVC、HEVC、AV1都支持b-frame,AMD只有AVC支持b-frame。 ...

看的好仔细啊 厉害




欢迎光临 Chiphell - 分享与交流用户体验 (https://www.chiphell.com/) Powered by Discuz! X3.5