使用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"之前,否则不生效。

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

结果:

解帧正确。

相关推荐
VOOHU_20187 小时前
VOOHU沃虎:音频变压器的主要作用是什么?什么情况下必须使用?
网络·物联网·音视频·电子元器件
APIshop8 小时前
小红书笔记视频详情接口深度解析:smallredbook.item_get_video_pro
数据库·笔记·音视频
AI服务老曹10 小时前
【架构深评】深度解析异构计算下的 AI 视频管理平台:从 GB28181 接入到 X86/ARM 容器化部署的全链路实战
人工智能·架构·音视频
YWamy11 小时前
视频会议如何重构智能硬件生态?适配难点与场景落地全解析
音视频
ai产品老杨11 小时前
【架构深析】打破硬件壁垒:支持 X86/ARM 异构计算与源码交付的 GB28181 视频 AI 平台设计实践
arm开发·架构·音视频
美狐美颜SDK开放平台12 小时前
直播App画面发灰、卡顿严重?美颜SDK接入与优化全解析
人工智能·音视频·美颜sdk·短视频美颜sdk
开开心心就好12 小时前
解决打印机共享难题的实用工具
人工智能·vscode·游戏·macos·音视频·语音识别·媒体
ai产品老杨13 小时前
深度解析:基于异构计算架构的 AI 视频中台(支持 GB28181、RTSP、Docker 部署与源码交付)
人工智能·架构·音视频
做萤石二次开发的哈哈14 小时前
萤石音视频 SDK 对比维度有哪些?
音视频
Cho1yon14 小时前
【第14期:多屏播放dvr视频和其他三方视频黑屏分析思路闪屏
车载系统·音视频