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

相关推荐
坤坤子吖10 分钟前
Linux 线程概念与控制——线程创建、退出与等待
linux·开发语言·c++·笔记·学习
Chenyu_31030 分钟前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
不昀11 小时前
网口Link Up后仍然掉线,怎样区分物理链路和数据通路问题?
linux·以太网
Lhan.zzZ11 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
Fcy64812 小时前
Linux下 多路转接select详解
linux·select·多路转接
无足鸟ICT13 小时前
【RHCA+】RPM包命名规则
linux·运维·服务器
Zucker n14 小时前
一款适合研究生科研工作安排的日历
linux·数据库·python
爱吃香菜的初学者14 小时前
十六.Linux——多线程(2)
linux·运维·开发语言
‎ദ്ദിᵔ.˛.ᵔ₎15 小时前
Linux:对有关 SIGCHLD 的深层理解
linux·运维·服务器