ijkplayer使用ffmpeg为视频添加水印avfilter_graph_parse_ptr返回Invalid data found when processing input

在确定代码逻辑和流程没有问题过后返回这个问题,通过多方验证确定是avfilter_graph_parse_ptr第二个参数导致的,此处我的输入参数是

const char *strFilter="movie=/storage/emulated/0/logo.png[wm];[in][wm]overlay=0:0,scale=400:400[out]"

,通过android studio 后台日志打印出现

 

然后我一直以为这里是logo_text1.png图片的问题,然后确定了路径文件有效,然后确定当前目录有权限,当然文件无效的话会返回其它错误。后面卡了好久开始怀疑是库不支持png格式解析。

后面我突然想到直接用

const char* = "/storage/emulated/0/logo_text1.png";
int ret = avformat_open_input(&m_pFormatContext, pUrl, NULL,NULL);
    if (0 != ret)
    {
        char errbuf[128];
        av_strerror(ret, errbuf, sizeof(errbuf));
        return 0;
    }

去打开这个地址,用过ffmpeg开发的人都清楚这个接口不仅可以打开rtmp,rtsp,本地文件等音视频流也可以打开,png,gif,jpeg等格式的图片,果然用这个接口打开时发现也是返回的同样的错误-1094995529 "Invalid data found when processing input" 这进一步的确定了问题所在,应该是编译ffmpeg时缺少了 png相关格式的配置选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值