HEVC压缩图片

2020-11-06 10:17:49 浏览数 (1)

最近在做一个项目,需要把图像用HEVC的HM压缩一次,但是在网上查了好久,貌似HM不能直接对JPG或者PNG等格式直接进行压缩。在咨询师兄师姐后,才知道可以先把jpg等格式转换为YUV格式,然后用配置HM只压缩一帧视频就可以完成需求。但是图像太多了,这样不方便批处理。其中一个思路是把jpg等图像转换为YUV的视频,然后再用HM压缩,最后再把压缩后的码流转换为图片。

  • 使用ffmpeg把jpg等图片转换为yuv视频
代码语言:txt复制
ffmpeg -r 30 -i E:StudyCppVideoCodecMVI_20052img].jpg -pix_fmt yuv420p -s 960x540 MVI_20052.yuv

-r 是码率

-i 是图像路径,img].jpg表示图像的名称类似为img00001.jpg

-s 是YUV视频的大小

  • 使用ffmpeg把jpg等图片转换为yuv视频
代码语言:txt复制
ffmpeg -r 30 -i E:StudyCppVideoCodecMVI_20052img].jpg -pix_fmt yuv420p -s 960x540 MVI_20052.yuv
/*-r 是码率

-i 是图像路径,img].jpg表示图像的名称类似为img00001.jpg

 -s 是YUV视频的大小*/
  • 改变YUV视频的分辨率
代码语言:txt复制
ffmpeg -s 960_540 -i "MVI_20052_r30.yuv"  -vf scale=960_544 MVI_20052_r30_960x544.yuv
  • 把YUV视频转换为图像帧
代码语言:txt复制
ffmpeg -s 960x544 -i MVI_20052_r30_960x544.yuv ].png

// -s 一定要放在-i前

0 人点赞