使用 ffmpeg 转码 视频 (使用 nvidia 硬件加速 和 h265 编码)

版权声明:本文为博主的文章,未经博主禁止可以随意转载。 https://blog.csdn.net/ONE_SIX_MIX/article/details/82939834

原来使用 staxrip 的 nvidia加速 转码一堆录像到 x265,码率大概为2000,画质很渣,虽然也许很大一部分是我不会调或者调错参数的原因 orz。
使用 libx265 编码质量很好,但是。。。慢到爆炸,仿佛我的i7是假的。
后来发现这个帖子
https://tieba.baidu.com/p/5738413374?red_tag=2530212879#120222338969l
顿时给了我很大的信心,nvidia 的编码器在N次更新后雄起了!
staxrip 已经停止更新了,不过又发现了 ffmpeg 也可以使用硬件加速,于是来尝试下
本来想压 10bit 的,然而 ffmpeg 的 nvenc 加速编码器 不支持,只能压 8bit 了

片源
Kimi.No.Na.Wa.2016.1080p.1080p.BluRay.x264.DTS-HD.MA.5.1-HDC
magnet:?xt=urn:btih:1BE2F7B03684E014424000A33410B066C4771B24
大小为 13GB
转换目标大小为 2.5GB 左右

ffmpeg版本:4.0.2
下载地址:https://ffmpeg.zeranoe.com/builds/
机器配置:i7-6700HQ + 970M 3G
得到的转码速度是 4x (例如片源两小时,转换需要时间为半小时)
因为转码速度很快,所以尽量使用加了各种会拖慢速度参数,嗯。。乱加的
使用命令:

ffmpeg -i 1.mkv -b:v 3500K -vcodec hevc_nvenc -preset slow -profile:v main10 -tier high -rc vbr_hq -2pass 1 -spatial_aq 1 2.mkv

转码 1.mkv 到 2.mkv
视频比特率为 3500K
使用 hevc_nvenc 编码器(nvidia硬件加速h265)
预设方案是 slow
profile 为 main10
tier 为 high
质量控制类型为 vbr_hq
使用 2pass 编码 (貌似没效果)
使用 spatial_aq

转码后质量很高,只有在静止帧仔细看细节,才看得出细微的差别
当然没有用过软件比对,纯属目测。。

其他命令

ffmpeg -codecs | sls cuvid
检查ffmpeg是否支持 nvenc 转码

ffmpeg -h encoder=hevc_nvenc
检查 x265 nvenc 的可以使用的选项

下面图 链接自 github (图床)。。。
可以点击放大仔细观看,或者右键下载后仔细观看
使用的播放器是 Potplayer ,渲染器是 EVR自荐渲染

截取自 01:35.000
这是 片源 截取图
在这里插入图片描述
这是转码后的图
在这里插入图片描述

时间忘记了。
这是 片源 图
在这里插入图片描述

这是转码后的图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ONE_SIX_MIX/article/details/82939834