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

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

结果:

解帧正确。

相关推荐
luoqice4 分钟前
libflv组包h264+AAC,librtmp推流
音视频
视***间17 分钟前
视程空间SC系列采集卡:以硬核技术,重构影像采集新生态
人工智能·音视频·采集卡·视程空间·视频采集卡
yaodong51826 分钟前
Gemini多模态API实战:图片PDF视频处理全解析
python·pdf·音视频
EasyDSS29 分钟前
企业级融媒体平台/私有化部署视频会议系统EasyDSS视频点播体验全面升级:从视频上传到播放的全流程优化
音视频·媒体
江湖有缘32 分钟前
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
docker·开源·音视频
我是发哥哈35 分钟前
AI视频生成工具横向评测:6大商用方案能力对比
人工智能·音视频
骄傲的心别枯萎38 分钟前
RTSP的原理讲解
音视频·rtsp
zc.z9 小时前
JAVA实现:纯PCM格式音频转换成BASE64
java·音视频·pcm
一苇以航3213 小时前
LE Audio低功耗蓝牙音频详解 (三)
音视频·蓝牙·ble·le audio
a里啊里啊16 小时前
软考-软件评测师:知识点整理(九)——其他杂项
音视频