ffmpeg视频转码
软件编码
H264格式,软件编码,crf=23,3.48倍速,码率大约是10M
ffmpeg -i IMG_2402.MOV -c:v libx264 -preset medium -crf 23 -c:a copy IMG_2402_h264.mp4
H265格式,软件编码,cfr=28,1.49倍速,码率大约是4.7M
ffmpeg -i IMG_2402.MOV -c:v libx265 -preset medium -crf 28 -c:a copy IMG_2402_h265.mp4
然后是测试核显硬件编码,速度是软件编码的2-3倍
英特尔cpu集成显卡硬件编码
H264格式,英特尔cpu集成显卡硬件编码,crf=23,7.37倍速,码率大约是11.4M
ffmpeg -i IMG_2402.MOV -c:v h264_qsv -global_quality 23 -preset medium IMG_2402_h264_1.MP4
H265格式,硬件编码,crf=28,4.41倍速,码率大约是3.5M
ffmpeg -i IMG_2402.MOV -c:v hevc_qsv -global_quality 28 -preset medium -tag:v hvc1 IMG_2402_h265_1.MP4
英伟达显卡硬件编码
H264格式,英伟达显卡硬件编码,cq=23,17.6倍速,码率大约是14.4M
ffmpeg -i IMG_2402.MOV -c:v h264_nvenc -cq 23 -preset medium IMG_2402_h264_2.MP4
H265格式,硬件编码,cq=28,16.9倍速,码率大约是7.4M
ffmpeg -i IMG_2402.MOV -c:v hevc_nvenc -cq 28 -preset medium -tag:v hvc1 IMG_2402_h265_2.MP4
在这个命令中:
-i input_video.mp4
指定输入视频文件的路径和文件名。-c:v libx264
指定视频编码器为H.264,也就是x264。-preset medium
是x264的预设选项之一,这里我们选择了medium
预设,它是速度和压缩效率的一个平衡点。-crf 23
是控制视频质量的参数。CRF值(Constant Rate Factor)范围是0-51,值越小质量越高,一般推荐使用18-28之间的值。这里我们选取23,适中的质量和文件大小。-c:a copy
表示音频流不进行编码,直接复制到输出文件中,保持音频质量不变。output_video_h264.mp4
指定输出压缩后的视频文件名。
指定解码器
使用 -c:v
参数来指定视频的编解码器,这里 c
是 codec
的缩写,v
是指 video
,处理音频编码可以替换为 a ( audio )
(本人对音频编码并没有研究,也不在本文讨论范围之内)
ffmpeg -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc output.mp4
注意:指定解码器 -c:v h264_cuvid
必须放在输入文件 -i input.mp4
之前,否则无效。
查看支持的编解码器
查看解码
ffmpeg -decoders
查看编码
ffmpeg -encoders
我把英伟达的挑选了出来
解码
V..... av1_cuvid Nvidia CUVID AV1 decoder (codec av1)
V..... h264_cuvid Nvidia CUVID H264 decoder (codec h264)
V..... hevc_cuvid Nvidia CUVID HEVC decoder (codec hevc)
V..... mjpeg_cuvid Nvidia CUVID MJPEG decoder (codec mjpeg)
V..... mpeg1_cuvid Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video)
V..... mpeg2_cuvid Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video)
V..... mpeg4_cuvid Nvidia CUVID MPEG4 decoder (codec mpeg4)
编码
------
V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V....D hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
英特尔的
V....D av1_qsv AV1 video (Intel Quick Sync Video acceleration) (codec av1)
V...BD h263i Intel H.263
V....D h264_qsv H264 video (Intel Quick Sync Video acceleration) (codec h264)
V....D hevc_qsv HEVC video (Intel Quick Sync Video acceleration) (codec hevc)
V....D indeo2 Intel Indeo 2
V....D indeo3 Intel Indeo 3
V....D indeo4 Intel Indeo Video Interactive 4
V....D indeo5 Intel Indeo Video Interactive 5
V....D mjpeg_qsv MJPEG video (Intel Quick Sync Video acceleration) (codec mjpeg)
V....D mpeg2_qsv MPEG2VIDEO video (Intel Quick Sync Video acceleration) (codec mpeg2video)
V....D vc1_qsv VC1 video (Intel Quick Sync Video acceleration) (codec vc1)
V....D vp8_qsv VP8 video (Intel Quick Sync Video acceleration) (codec vp8)
V....D vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
V..... hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc)
V..... mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
V..... mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
V..... vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
D.V.L. h263i Intel H.263
D.AIL. imc IMC (Intel Music Coder)
参考:
https://www.bilibili.com/read/cv22360694/
https://blog.csdn.net/qq_39575835/article/details/83826073
https://www.cnblogs.com/xlfqrxlf/p/16879357.html
https://zhuanlan.zhihu.com/p/644359786
https://blog.csdn.net/jiexijihe945/article/details/131912403
ffmpeg视频格式转换笔记https://blog.csdn.net/szfhy/article/details/65442675