【视频编码】x264视频的最低FPS是多少?

电脑里的几个讲座视频,想把授课人裁剪掉,只放PPT课件的画面,然后发现HandBrake不错,可以达到像素级别的裁图标准,满足我的强迫症。
Snipaste_2021-12-28_11-05-19

但是HandBrake里面的帧率最低只能到 5 FPS。
Snipaste_2021-12-28_11-05-19

对于一个讲座视频,大段大段的讲述是没有画面移动的,所以我觉得1~2 FPS已经足够,太高浪费存储空间。
求助各位站友,还有什么可以降低帧率的软件吗?

试试ffmpeg?
https://trac.ffmpeg.org/wiki/ChangingFrameRate

X264和H264 他们究竟是啥关系 :laughing: 我记得,如果从H264编码算法上分析的话,貌似不存在1秒最低多少帧这个限制的把?

楼上正解,可以考虑试试用ffmpeg手动调参数转码看,能不能达到你的效果

1 个赞

一个是编码器,一个是标准,大概。

只要内容没怎么变,5fps和1fps的文件大小应该差不了多少

哎呀这个思路可以啊…值得推广

x264是一个开源的h264编码器

说起来,我今天测试了一下,将 FPS 降低之后,为什么降低的尺寸没有想象的多呢

相邻的帧画面不变的情况下,编码算法本身就会压缩,基本节省不了什么空间,不用去管

1 个赞

关键在于视频的参数设置,单纯降低帧率减少的大小其实很有限,我一般使用基于 FFmpeg 的 ShanaEncoder官方网站)来压制教程,将质量设为 30.5,音频设为立体声 64kbp,视频则保持原帧率不变。

ShanaEncoder 借助于强大的 FFmpeg 特性,在压制电影的时候甚至可以把内嵌的图形软字幕 PGS,直接硬编码写入到图像中使之融为一体,还可以开启 HDR to SDR 色调映射选项,将 HDR 视频在重编码过程中转为普通的 SDR 视频,从而使无 HDR 技术的显示设备,播放视频时能得到近似于 HDR 视频的效果。

当然简单的视频分割和裁剪等功能也是有的


以下内容转自网友的使用建议

首先最重要的一点:只要进行压制就会有画面损失,压制的目的就是为了用更小的体积来得到更接近原片的画质(码率和画质基本上成正比),所以你调整设置中的参数的关键就在于你觉得哪个更重要?体积?画质(码率)?还是速度?你需要做的是找到一个平衡点,这个点每个人都不可能完全一样,所以需要你自己去找。请不要尝试压制那些低码率的视频,如果你的视频在经过压制之后,体积增大了,那大概率是因为你把低码率的视频压制成了更高码率的视频,这样做显然是没有意义的。

一、编码器的选择:

  1. 无后缀:优点:理论上兼容性最好,压出来的视频质量不错。H264可以使用OpenCL加速,兼容N/A/核显(个别可能不支持),H265/HEVC没有OpenCL加速,只能靠CPU硬撑,独有的质量模式(CRF),比量化器(CQP)稍微好一点,H264在码率(ABR)模式下支持二压(2pass),二压可以在有码率限制的情况下得到更好的质量,适合向网站传视频用; 缺点:速度偏慢。
  2. AMF:优点:A卡专用方案。 缺点:没有A卡,没法测试。
  3. NVENC:优点:N卡专用方案,速度最快。 缺点:视频质量较差。
  4. QSV:优点:Intel核显专用方案,速度较快,视频质量最好。 缺点:AMD NO!
    总结:建议使用QSV方案或者无后缀方案。

二、编码方式选择:

  1. 比特率(ABR):直接限制视频比特率。
    优点:网络视频常用的压制方法,设置项目众多,因为该方法直接将码率限制在某个区间之内,所以可以直接根据画面大小和视频长度直接预测出压制后的视频体积。 缺点:在动态场景下由于码率限制会导致画质严重下降,而在静态场景中又会导致多余的码率被浪费。
  2. 量化器(CQP):设置一个期望的画质水平值,值越低,画质越高,体积越大。
    优点:取消了码率的上限,在各种场景下更智能的调整码率,使得各种场景的画质水平趋于一致。 缺点:无法预测视频文件的体积,不适合作为有最高码率限制的网络视频。
  3. 质量(CRF):可以理解为量化器(CQP)的升级版。
    优点:CQP在设置好一个期望的画质的值之后,编码过程中CQP的值是固定的,而CRF还可以在编码过程中动态的调整CQP的值。 缺点:和CQP相同。
    总结:如果要传输网络视频,比特率编码可能是你唯一的选择,其余的时候我更推荐CRF/CQP,实际上在CRF编码时CQP的值波动是很小的,可能也就正负1左右。

三、其它设置:
速度:该设置里的名称会根据编码器变化,其原则就是速度越慢,质量越高,体积越小。
帧率:就是一秒钟有多少幅画面,一般不勾选维持原来的帧率。
关键帧:快进时,按一下快进几秒,默认为10,一般不改。
图片大小:就是视频的画面大小,就是你想要1080P还是720P,一般不勾选,维持原片画面大小。
音频:一般直接复制或者选择AAC格式。

四、设置建议:
编码器:H265(QSV)
编码方式:量化器(CQP)
帧率:不勾选
关键帧:10
图片大小:不勾选
音频:如果原视频的音频比特率较低(低于320)我会考虑直接复制,因为转码总是有损失的。如果原音频高于320Kbps我会转成AAC,比特率320,声道用立体声,采样率不变。
一个原码率11000Kbps的H264视频,时长20多分钟,体积1.74GB,帧率为59.94(大多数视频可能只有30/29.97或者24/23.976,多一倍帧率就多一倍体积)。
当CQP值为20,速度是veryslow的时候可以获得原视频90%以上的画质,此时码率为6380Kbps,体积为0.95GB,但是耗时44分多钟。
当CQP值为20,速度是veryfast的时候可以获得原视频90%以上的画质,此时码率为6890Kbps,体积为1.05GB,耗时仅为6分28秒。
当CQP值为26的时候能获得原视频85%以上的画质,此时码率为3250Kbps,体积为0.51GB。

注意事项

注意:如使用H264(NVENC)和HEVC(NVENC)编解码器硬件加速
显卡要求:显卡NVIDIA驱动程序版本最低要求 v456.71 或更高版

1 个赞

有你这句话,我也就不折腾了。 ::

我觉得还是不太有用,主要太慢了,如果没有桌面N卡支持,效果和速度都是问题。
N卡的效果应该是最好的,毕竟是独显。
当然最好的还是CPU,但实际要考虑速度,所以只有独显实用一些。
不同的影片可能影响不太一样,可能还要多试几次,非常麻烦。
还不如浪费一些硬盘,毕竟显卡比硬盘贵多了,除非影片要看很多遍,编码的时间才赚回来。

1 个赞

其实我用这个软件转码之后,视频体积可以压缩到原来的1/10左右。效果还是很明显的,但是就跟青蛙说的一样,继续降低帧率的效果确实不太明显。
所以我还是按照我原来的处理方式,不再继续折腾了。
我的设备:
处理器:Intel(R) Core™ i9-10980HK CPU @ 2.40GHz 3.10 GHz
机带 RAM:32.0 GB (31.8 GB 可用)
显卡:NVIDIA GeForce RTX 2070 Super with Max-Q Design

一个30分钟的讲座大概要花5分钟左右时间转码。

1 个赞

问题教学的东西怎么可能一两小时,就算牺牲画质,算你100G的东西,砍成10G,可是我只看一遍左右,做了笔记就撤了,我何必为了临时占用的90G,用显卡去转?或者我看的是有代码的影片,模糊了以后可能有问题,总之为了这点空间,根本不划算。
因为这些东西本身是压缩的,能很好利用硬盘的读写优势,再压一遍当然会不划算。
不过肯定有强迫症的人存在,虽然我犯过病,不过没钱所以治好了:sweat:

1个视频(半个小时)转换时间,不是1个半小时。 ::
没有强迫症也不会这么纠结了。

减少编码时间最佳选择是用ffmpeg batch convert多线程硬解批量转码,像2070支持最多8个编码任务,虽然可能用不到那么多就满负荷了

关键你图上用的是CPU编码器x264,很慢的。你应该用配套N卡硬件的h265nvenc,这样才能用上2070,速度可以快个10倍左右吧

这种大量相似场景的视频要优化空间还是得用ffmpeg的hevc_nvenc编码器手调 -qp -cq参数
先裁剪一小段典型的场景,用不同的参数编码比较看一下效果

要进一步缩小体积的话貌似可以加bframe,16xx以上才有硬件支持,代价是时间和解码的消耗和兼容性,据说对高动态的视频效果更好,没研究

FFMPEG似乎默认是可变帧率,自己随意设置应该没什么好处