Firefly开源社区

打印 上一主题 下一主题

[技术讨论] ffmpeg解码概率性报错Received a errinfo frame

30

积分

0

威望

0

贡献

技术小白

积分
30

ffmpeg解码概率性报错Received a errinfo frame

发表于 2023-3-24 10:08:18      浏览:4560 | 回复:3        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
需求:使用ffmpeg进行视频解码并进行yuv转rgb的色彩空间转换和分辨率转换(swscale)。
具体描述:当使用如下代码进行scale时,不会报错。
img_convert_ctx =sws_getContext(pCodecCtx->width, pCodecCtx->height,pCodecCtx->pix_fmt,         pCodecCtx->width, pCodecCtx->height,AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL);
但是使用上述代码则无法实现分辨率转换,因为目标分辨率仍是视频的原始分辨率。
运行结果如下图:

而当直接指定目标分辨率为具体数字(不同于视频原始分辨率)时,即如下代码。
img_convert_ctx =sws_getContext(pCodecCtx->width, pCodecCtx->height,pCodecCtx->pix_fmt, 32, 80, AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL,NULL, NULL);
则概率性出现Received a errinfo frame报错。如下图所示。

图片看不清的话可查看日志,可以提供代码如果需要的话。

ffmpeg解码报错.zip

160.43 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

30

积分

0

威望

0

贡献

技术小白

积分
30
发表于 2023-3-24 10:11:35        只看该作者  沙发
ubuntu版本是18.04
回复

使用道具 举报

30

积分

0

威望

0

贡献

技术小白

积分
30
发表于 2023-3-24 21:51:17        只看该作者  板凳
将img_convert_ctx =sws_getContext(pCodecCtx->width, pCodecCtx->height,pCodecCtx->pix_fmt, 32, 80, AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL,NULL, NULL);中的32和80改成64和160后,Received a errinfo frame出现频率降低,改成160和400后目前没遇到Received a errinfo frame,但现在我就是想要32x80分辨率。
回复

使用道具 举报

899

积分

0

威望

6

贡献

技术大神

Rank: 8Rank: 8

积分
899
发表于 2023-3-29 09:59:14        只看该作者  地板
这个FFmpeg硬解码已经快4年没有支持了,肯定是有解码问题。不支持是因为rk和FFmpeg版权问题。现在直接基于rkmpp做了ffmedia进行解码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表