FFmpeg下HW265Enc使用参考
以YUV文件转换为MP4文件为例,提供在FFmpeg下使用HW265Enc编码器编码的命令使用示例。

在输入命令行选项时,除了输出文件名写在末尾,其他FFmpeg内置参数写在“ffmpeg”命令后面。libhw265编码器参数写在“libhw265”后面。参数的分类和说明如表1所示。
命令举例:
ffmpeg -s 1920x1080 -i input.yuv -bf 0 -c:v libhw265 -wpp_threads 4 output.mp4
显示信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Input #0, rawvideo, from 'input.yuv': Duration: 00:01:00.00, start: 0.000000, bitrate: 622080 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 622080 kb/s, 25 tbr, 25 tbn, 25 tbc File 'output.mp4' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libhw265)) Press [q] to stop, [?] for help Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0: Video: hevc (libhw265) (hev1 / 0x31766568), yuv420p, 1920x1080, q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.54.100 libhw265 frame= 1500 fps= 13 q=-0.0 Lsize= 34439kB time=00:00:58.96 bitrate=4785.1kbits/s speed=0.504x video:34432kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.020906% |
FFmpeg命令行参数 |
参数分类 |
参数说明 |
---|---|---|
-i |
FFmpeg内置参数 |
设置输入文件的名称。 对应libhw265编码器命令行参数:-i。 |
-s |
FFmpeg内置参数 |
设置输入图像宽度和高度。 对应libhw265编码器命令行参数:-w,-h。 |
-vframes |
FFmpeg内置参数 |
设置需要进行编码的帧数。 对应libhw265编码器命令行参数:--frames。 |
-fps_num |
libhw265编码器参数 |
设置输出视频的编码帧率,取值范围为(0, 120],如果不是此范围内,设为默认值25。 对应libhw265编码器命令行参数:--fps_num。此时默认编码器命令行参数fps_den为1。 |
-channel |
libhw265编码器参数 |
设置当前编码器的ID,通过编码器的ID值,来识别不同编码器,默认值为0。 |
-log_level |
libhw265编码器参数 |
设置编码器日志输出等级,默认值为1。 0:关闭日志。 1:打开error级别,只上报错误信息。 2:打开warning级别,上报告警消息和小于warning级别的信息。 3:打开info级别,上报重要消息和小于info级别的信息。 4:打开debug级别,上报调试消息和小于debug级别的信息。 |
-frame_threads |
libhw265编码器参数 |
设置帧级编码的线程数,一般值越大,编码速率越高。取值范围为[1, 38],默认值为12。 对应libhw265编码器命令行参数:--FrmThreadNum。 |
-wpp_threads |
libhw265编码器参数 |
设置wpp行级编码的线程数,一般值越大,编码速率越高。取值范围为[1, 20],默认值为8。 对应libhw265编码器命令行参数:--WppThreadNum。 |
-analysis_threads |
libhw265编码器参数 |
设置预分析线程个数,预分析提前扫描即将到来的帧,能一定程度上提高编码画质,但增加编码延时。取值范围[1, 48],默认值为5。 对应libhw265编码器命令行参数:--LookAheadThreads。 |
-adap_I |
libhw265编码器参数 |
设置开启场景自适应I帧,开启后会提高编码画质,降低编码速率。取值范围[0, 1],默认值为1。如果不是此范围内,设为默认值1。 对应libhw265编码器命令行参数:--adapt_i。 |
-profile |
libhw265编码器参数 |
设置HW265编码器的编码复杂度,目前仅支持main profile,默认值为0。 |
-qualityset |
libhw265编码器参数 |
设置编码画质等级,可选2,3,5,6四种档位,编码速度逐级加快,编码质量逐级降低,默认值为3。 对应libhw265编码器命令行参数:--preset。 |
-keyint |
libhw265编码器参数 |
设置I帧间隔。一般值越大,画质越高,编码速率越高。不小于1,默认值为150。 对应libhw265编码器命令行参数:--keyInt。 |
-bframe_nums |
libhw265编码器参数 |
设置最大连续B帧数。一般值越大,相同码率下画质越高,编码速率越低。范围在[0, 7]之间,默认值为7。 对应libhw265编码器命令行参数:--bframes。 |
-delay |
libhw265编码器参数 |
设置时域分析缓存帧数。一般值越大,相同码率下画质越高,编码速率越低。取值范围[bframes, 150],默认值25。 对应libhw265编码器命令行参数:--delay。 |
-rc |
libhw265编码器参数 |
设置标志码控策略。可选{0,1,2},分别代表cqp(固定量化参数),abr(平均码率控制),crf(固定质量因子),如果不是此范围内,设为默认值0。 对应libhw265编码器命令行参数:--rc。 |
-qp |
libhw265编码器参数 |
设置量化参数QP,一般值越小量化步长越小,精度越高,相同画质下产生的数据量可能会更大。取值范围[1, 51],默认值为18。仅在cqp模式生效。 |
-abr_bitrate |
libhw265编码器参数 |
设置平均码率。一般值越大,画质越高,编码速率越低。范围在[40kbps, 300000kbps]之间,如果超过此范围会设为默认值2000。 对应libhw265编码器命令行参数:--br。仅在abr模式生效。 |
-crf |
libhw265编码器参数 |
设置crf码控水平。一般crf值越小,码率、画质越高,编码速率越低。范围在[0, 51]之间,如果超过此范围会设为默认值23。 对应libhw265编码器命令行参数:--crf。仅在crf模式生效。 |