如何知道转码之后文件的体积

Totem,mplayer,sopcast,realplayer,bmp
回复
yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

如何知道转码之后文件的体积

#1

帖子 yubinalice » 2023-08-09 20:08

话说,以前曾经使用ffmpeg来转码,主要是因为这个软件比较普遍,但是忽然有一天,发现使用AMD硬件编码H265,调用hevc_amf编码之后时间轴有问题,无法快进。于是使用handbrake来转码。
Handbrake这个软件无法使用AMD来硬解码,因此都是CPU软件解码然后vce_h265硬件编码过去。

最近ffmpeg更新了,于是update一下,然后试了下新版本,结果新编本修复了之前的AMD硬件编码时间轴问题。
但是,使用ffmpeg无论是否使用硬件解码,转码后的体积都很大。源文件h264编码900多MB,使用ffmpeg转码成h265格式,-qp 0,而且软解码和硬解码之后编码文件的体积相同,都是800多MB,就没小多少。然而,使用Handbrake转码之后竟然200多MB。而且编码速度更快。
最近看到一份资料说,Handbrake也是基于ffmpeg开发的。不知道是不是这样。若是的话,那他是咋优化的。

这个问题比较专业,按说应该到专业的ffmpeg论坛去问。然而一般比较专业的ffmpeg论坛都是国外的,国内没有。另外我知道这个论坛的牛人很多,就在这里问了。
onlylove
论坛版主
帖子: 5232
注册时间: 2007-01-14 16:23

Re: 如何知道转码之后文件的体积

#2

帖子 onlylove » 2023-08-09 20:22

我觉得你这么问应该会被骂

同样编码器,体积小了,当然是编码的时候损失了质量,只不过你可能觉察不到,所以你可能要去看下handbrake的设置和你的ffmpeg编码参数
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: 如何知道转码之后文件的体积

#3

帖子 astolia » 2023-08-10 12:09

yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

Re: 如何知道转码之后文件的体积

#4

帖子 yubinalice » 2023-08-24 22:34

这个资料我早就知道了。

问题是,

我所写的代码其实都是设置原画质导出,但是Handbrake的体积就是比ffmpeg要小很多。

这个很奇怪呀???

而且,GUI的Handbrake是没有设置原画质进行输出的选项的,需要使用CLI模式或者自己篡改配置文件才能完成。

我刚刚开始的时候使用的是CLI模式,后来发现篡改配置文件之后能够在图形界面显示转码的进度,因为我一次需要转码一个目录的很多的文件。

这个您还是实际找个文件转码试试看好了。

这里说明,我是用的GPU是AMD的,

ffmpeg使用的编码器是,hevc_amf
Handbrake使用的编码器是h265_vce

貌似这两个不是一个东西。

但是据说Handbrake也是基于ffmpeg的。

vce的编码器比较新。
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: 如何知道转码之后文件的体积

#5

帖子 astolia » 2023-08-25 9:56

yubinalice 写了: 2023-08-24 22:34
这个资料我早就知道了。
知道了还不去看码率?扯一堆废话干啥呢
yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

Re: 如何知道转码之后文件的体积

#6

帖子 yubinalice » 2023-09-27 15:10

astolia 写了: 2023-08-25 9:56
yubinalice 写了: 2023-08-24 22:34
这个资料我早就知道了。
知道了还不去看码率?扯一堆废话干啥呢
我转码的时候两个软件设置都是无损转码,放在Handbrake里面就是 -q -1,放在ffmpeg里面就是 -eq 0,没设置码率,设置的是无损转码。

然而,转码结果,Handbrake比起ffmpeg要小很多。

有人说Handbrake也是基于ffmpeg的,但是我没有查到相关的资料,您知道吗?

然而,Handbrake能够使用最新的AMD vce转码,ffmpeg就只能使用amf。应该不是一个,要不然ffmpeg为啥不能用呢?
回复