ffmpeg编码图象时报错Invalid buffer size, packet size * < expected frame_size *

使用ffmpeg将单个yuv文件编码转为jpg或其他图像格式时,报错:

bash 复制代码
Truncating packet of size 11985408 to 3585
[rawvideo @ 0x1bd5390] Packet corrupt (stream = 0, dts = 1).
image_3264_2448_0.yuv: corrupt input packet in stream 0
[rawvideo @ 0x1bd7c60] Invalid buffer size, packet size 3584 < expected frame_size 11985408
Error while decoding stream #0:0: Invalid argument

这里11985408对应的是我文件的大小:

需要加上参数-vframes 1 或 -frames:v 1(旧版),以单帧方式导出:

注意需要加在输入之后,也就是用于输出文件。

另外,导出为单张图像时,不能加 -c:v libx264 参数,这个是视频流的,如果加上则打不开jpg图像。

相关推荐
撩得Android一次心动1 小时前
Linux编程笔记3【个人用】
linux·笔记
OpenPomeloxCommunity1 小时前
3. Linux 同步机制之 spinlock 设计与实现(一):通用层
linux
念恒123062 小时前
网络基础
linux·网络·c++
皮卡狮3 小时前
Linux静态库和动态库详解
linux
撩得Android一次心动3 小时前
Linux编程笔记4【个人用】
linux·笔记·学习
七牛云行业应用4 小时前
Ollama 本地部署 DeepSeek 完全指南:macOS / Windows / Linux 三端安装 + GPU 配置 + API 调用
linux·windows·macos
顧棟4 小时前
Zookeeper热缩容解析
linux·服务器·zookeeper
三言老师5 小时前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
味悲5 小时前
Linux提权
linux·服务器·安全