目前最强的视频压制软件 ShanaEncoder,一款支持硬件加速的免费FFMPEG GUI工具
以前我压制视频的时候,一般使用 小丸工具箱、HandBrake 等这些FFMPEG的GUI工具,界面繁杂不说,压制速度也不甚理想。
最近找到了这款韩国出品的ShanaEncoder,它除了界面简洁之外,还充分利用了新版FFMPEG对于硬件系统的支持,极大地提升了视频的压制速度与质量。
如何快速压制一个视频?
我现在就教你如何最快压制一个视频。- 拖动视频到 ShanaEncoder 的主窗体内,在【偏好设置】-【硬件解码】中设置你想要辅助编码的硬件设备(一般选显卡)。
- 按F6进入快速设置,【文件格式】选择mp4,【编解码器】根据需求选择H264编码或是HEVC(H265)编码;【视频质量】可以不用改,或者推荐使用20(HEVC选22)。
- 关闭【帧率】选项(使用源视频帧率),点选【关键帧】并设置为10。
- 点选【OpenCL加速】,点【设置】并选择加速编码的硬件设备;如果没有选项或是编码后发生错误,可以关闭此选项。
- 取消【图片大小】(其实就是分辨率选项)和【HDR to SDR 色调映射】两个选项。
- 音频【编解码器】选择复制,或是选择 AAC 128~256Kbps,【声道】选择原版,取消【采样率】或是选择44100、48000Hz。
- 保存设置,在主界面最下方设置输出视频的文件夹(或直接点源文件夹输出视频到源文件位置),点击【开始】。
如果一切正常,那么 ShanaEncoder 就已经开始帮你压制视频了。
如果发生错误,请按F5查看编码日志,根据错误提示来排除错误选项。
ShanaEncoder 使用教程
ShanaEncoder 的使用就是这么简单,你可以将你常用的编码设置保存为预设,并且预设的加载和修改也非常的简单。下面我就根据自己的使用经验和网络上搜集的资料,来简单介绍一下 ShanaEncoder(FFMPEG) 的参数设置。
首先,编码器该选择什么?
ShanaEncoder 支持硬件编码,除了默认的编码器之外,还有一些带后缀的编码选项,比如 AMF、NVENC、QSV 等,这些编码器到底是什么呢?其实AMF就是AMD显卡的编码器,NVENC为Nvidia显卡编码器,QSV为Inter的CPU编码加速器。
只要你的硬件支持硬件编码加速,就可以选择这些编码器来加快视频编码。
只不过硬件编码的画面质量会稍稍逊色于纯CPU编码,但是编码的速度会比纯CPU编码要快上许多!!!
如果你对视频的画质并没有那么苛求,则完全可以将编码交给你的显卡来完成!
注意:如果你使用硬件编码失败,可能是因为你的硬件不支持或者是驱动版本过于落后(N卡需要471.41版本以上的驱动)。你可以在编码失败后按F5查看日志,通过日志内的错误提示来搜寻解决办法。
当然,如果你对视频画质有要求,并且不在意时间的话,则可以使用默认的CPU编码,并且辅以OpenCL硬件加速功能来加快编码速度。只要你的硬件支持,就可以同时调度CPU和GPU来帮助你加速视频编码了。
虽然CPU+GPU联合编码,但速度并不如纯GPU编码来得快,不过却可以在保证画面质量的前提下,略微提升编码速度,也算是有一些小小的提升吧。
视频编解码器的配置选项参数有什么作用?
【编解码器】旁边的【配置】选项一般情况下不需要更改,如果你点开该选项,会发现里面还有【配置】、【级别】、【预设】、【调整】等子选项。这些选项的参数会根据编码器的不同而有所不同,不过一般都大差不差。以纯CPU H264编码为例,【配置】与【级别】两个选项一般不要改动,而其中的【预设】选项则关系着编码器的编码速度与画面质量。默认的【veryfast】就已经不错了,如果你希望改进画面质量,则可以将其设置为 【medium】或是【slow】,再往下就不推荐了,速度会很慢但是画质并没有质的提升。
而【调整】选项则是调用FFMPEG的内置滤镜来对源视频的画质进行优化:
【none】代表不处理;
【film】则是用于处理高质量的电影视频,减少视频中的色块,同时编码速度也会减慢;
【animation】用于压制动画片,增加块和更多的参考帧;
【grain】适合压制老电影,保留老电影的颗粒感;
【stillimage】适合幻灯片、电子相册;
【psnr】和【ssim】为开发选项,目前不建议使用,不过ssim能更好地去除视频中的颗粒,用于降噪画面。
质量、量化器、比特率 该选谁?
【质量(CRF)】模式是通过指定一个画面质量的数值,来动态地对视频进行压制处理。质量模式的好处是画面质量较好,但是文件大小会依据视频画面的复杂度而起伏,压制速度也是最慢的。
质量设置为0即为无损画质,但视频文件会无比巨大,而17往往被认为从视觉上看是无损的。
一般情况下质量参数设置为 17~29 会比较合理,数字越小画面越好、同时文件越大。
你可以尝试压制视频的前几分钟,来不断调整参数值,达到文件大小与视频质量的理想值。
【量化器(CQP)】模式是类似质量模式的编码方式,不同的是它采用每帧图像都按照一个特定的QP来编码,不会通过预测编码来提高画面质量,因此它的编码速度是最快的。
量化器模式一般配合显卡编码器使用,可以极快地提高编码速度,但同时它的文件大小会比CRF要大,并且画面质量会逊色于质量模式。
参数一般设定为22,26,30,34,38等几个数值。
【比特率(ABR)】模式是以平均画面码率的方式,来动态地调整视频画面质量,以可预估的画面质量和文件大小来输出视频文件。
一般这个模式用以输出视频到视频网站,比如B站就限制1080P60帧视频最高码率为6000kbps,我们就可以通过比特率模式来限制输出视频的码率来达到要求。
比特率模式可以预期文件大小和画面质量,但是在处理大量动态画面时可能会出现较为模糊的情况,并且也不可能完全符合目标码率的上限。因此,如果你想要压制视频给B站、并避免二次转压的话,建议压制时降低画面质量到5900kbps比较稳妥。
你还可以通过点选【2 Pass(二次编码)】选项来提高此模式的画面表现,虽然压制速度会变慢,但是画质比一次编码要好上不少,适合以较低码率来获得较高的画面质量。
帧率、分辨率、关键帧、音频该如何设置?
一般情况下,我们可以关闭【帧率】、【图片大小】、音频【编解码器】等选项,来直接复制源视频的帧率、分辨率、音频流。如果你需要调整源视频的画面,则可以通过这些参数来详细设定。
帧率是什么?
帧率表示一个视频每秒所能呈现的画面,因此输出的视频帧率千万不要大于源视频的帧率,这不仅不会提升质量,反而还会增加文件大小。相反的,如果你想要压缩视频大小,则可以降低视频的帧率,不过一般只推荐对大于60帧的视频进行降帧处理。比如60帧的视频降低到30帧,你的视频大小也会降低一半。
某些视频的帧数非常奇怪,为59.94或是23.976,是否要将这些视频的帧率调整为60或是30呢?
答案是不需要!这些“奇怪的数字”是某些DV的默认参数,其主要的输出对象为TV或是一些单独的显示设置。我们的PC显示器一般都是60赫兹以上(实际上大部分显示器的60帧都是59.94),所以59.94与60帧几乎没有区别,我们将它们当作相同的帧数即可,压制的时候也不需要改变帧数。
关键帧是什么?
关键帧主要影响视频的跳转速度,如果关键帧设置得过大,你快进倒退视频的速度就会很慢。如果关键帧设置得过小,那么视频的体积也会变大。总之,这个数值设置为1~10都是可以的,不建议设置超过10。
又或者,你可以无视这个选项直接摆烂。
图片大小(分辨率)要如何调整?
如果你想把一个4K视频压制为1080P,则可以点选该选项,并将尺寸设置为 1920x1080。如果你的编码模式为比特率模式,则还需要调低源视频的比特率,一般60帧1080P视频的码率在8000~12000之间就足够了。(质量模式则可以忽略,因为质量模式会智能调整画面码率)
编解码器(音频流)要如何调整?
一般情况下,我们直接选择复制即可。如果你的源视频音频流非常巨大(FLAC格式或是超过320kbps),你可以尝试将其转化为AAC格式,并限制音频比特率为128、256、320Kbps。
一般情况下256kbps足矣,如果是音乐MV的话建议320kbps比较好。
FFMPEG 参数设置
最后,如果你需要设置一些更细微的优化参数,则可以参考 FFMPEG 官网的文档,并在 ShanaEncoder 中按F8打开参数窗体进行详细设置。FFMPEG官方文档:
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffmpeg-all.html (卡顿警告)
总结
ShanaEncoder 的使用方法就是如此简单。如需针对不同设备、场景、网站等,还请各位自行摸索。
大家有什么疑惑、补充或是指正的,欢迎留言交流。
参考文章:
https://bbs.itzmx.com/thread-89019-1-1.html
https://www.shenzhizhen.com/archive/790.html
第二页分享一些预设配置、参数用法、常见问题
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
如果是开源的就好了