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图像。

相关推荐
无足鸟ICT39 分钟前
【RHCA+】查看变量
linux·运维·服务器
Kina_C1 小时前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
suaizai_1 小时前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
慕伏白2 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo52 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
IT探索2 小时前
Linux 查找文件指令总结
linux·算法
晚风吹长发2 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
sulikey3 小时前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
Kina_C3 小时前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
皮卡狮3 小时前
文件系统:磁盘硬件寻址和系统软件寻址
linux