使用ffmpeg将视频解码为帧时,图像质量很差

当使用ffmpeg库自带的ffmpeg.exe对对视频进行解帧或合并时,结果质量很差。导致这种原因的是在使用ffmpeg.exe指令进行解帧或合并时使用的是默认的视频码率:200kb/s。

如解帧指令:

复制代码
ffmpeg.exe -i 600×600pixels.avi -r 2 -f image2 img/%03d.jpg

其中:

-i:指明需要解帧的视频;

-r 或-framerate :代表帧率,表示每秒取出2张图;

特别需要注意:-r选项是属于图片的属性,因此在指令中需要放在图片命令之前,即放到"-f image2 img/%03d.jpg"之前;

-f image2:表示输出格式为图像格式,后面的3d表示图片编号3位数,%03d表示不够位数的补零;

解帧后的图:

可以看到有明显的信息丢失,图像质量变得很差(马赛克严重)。

再看视频的文件信息:

或者从解帧日志上可以看到:

解决办法:指定视频的帧率

指令:

复制代码
ffmpeg.exe -i 600×600pixels.avi -r 2 -b:v 3193k -f image2 600x600/%03d.jpg

其中

-b:v 3193k 表示指定视频帧率为3193kb/s

同样的需要特别注意:-b:v选项在指令中需要放在图片命令之前,即放到"-f image2 img/%03d.jpg"之前,否则不生效。

解帧日志上可以看到截帧的帧率变为了我们指定的帧率了:

结果:

解帧正确。

相关推荐
小鱼仙官8 小时前
Windonws 视频存储,10s/不限时
开发语言·qt·音视频
福老板的生意经10 小时前
AI 短视频全链路创作分发系统架构解析:模块化设计与核心技术实现
人工智能·系统架构·音视频
hz5678910 小时前
2026应急指挥场景视频会议系统架构设计与私有化部署实践
系统架构·音视频·实时音视频·信息与通信·视频编解码
Hommy8810 小时前
【剪映小助手】音频处理工具接口
aigc·音视频·剪映小助手·视频剪辑自动化
alphageek810 小时前
JeffMony开源的VideoDownloader,Android平台视频下载SDK
android·其他·开源·音视频
kyle-fang11 小时前
Decord详解
音视频·视频解析
kyle-fang12 小时前
手术视频预处理构想
音视频
DogDaoDao12 小时前
H.266/VVC 视频编解码标准最新优化研究综述
论文·音视频·实时音视频·视频编解码·vvc·vtm·h.266
EasyCVR12 小时前
从连锁门店到城市级项目,国标GB28181视频监控平台EasyCVR的全场景适配能力有多绝?
运维·网络·音视频
REDcker13 小时前
QUIC协议系列导读
音视频·webrtc·实时音视频·webtransport