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相关格式的配置选项,所以我用ffmpeg在windows下打开一个png格式的图片可以看到相关信息为:
png_pipe 这个格式,然后去ffmpeg源码目录下在linux使用
./configure --list-demuxers
命令可以查看到
image_png_pip 这个编译选项然后去ffmpeg编译里面添加这个编译选项,编译成功过后的ffmpeg 库加入到工程里面重新运行,果然可以成功的运行了,并实现了添加水印的功能,当然如果是jpeg格式的同理加入 image_jpeg_pipe这个选项就OK了。这个是ffmpeg移植到android下为了节省空间去掉许多编译选项容易出现的问题,这个难点就需要我们精确的确定是代码问题还是库的问题,在此记录一下。
ijkplayer使用ffmpeg为视频添加水印avfilter_graph_parse_ptr返回Invalid data found when processing input相关推荐
- FFmpeg m3u8文件返回Invalid data found when processing input错误
结论 1.检查存储访问权限是否正常,因为你可能有m3u8文件的访问权限却不一定有分片视频文件的访问权限. 2.给avformat_open_input增加配置("allowed_extens ...
- avformat_open_input返回-1094995529 “Invalid data found when processing input“
avformat_open_input返回-1094995529 avformat_open_input() 返回"Invalid data found when processing in ...
- FFmpeg Invalid data found when processing input
说一下自己用ffmpeg合并视频出现的bug吧 直接上代码 /*** 批量转换某文件夹的视频 转换为ts文件 并生成txt文件* */String videoPathList = "C: ...
- arm ffmpeg报错:Invalid data found when processing input(没解决)(在ubuntu上能正常运行)(重新交叉编译后问题解决)
文章目录 报错 原因分析 报错 如图,运行ffmpeg指令时,报错: ffmpeg -i 1e1fee9790f26fa3_20221421292.264 -vcodec copy -f mp4 te ...
- 07-----关于ffmpeg Invalid data found when processing input错误
1 关于ffmpeg Invalid data found when processing input错误 ffmpeg库不支持,例如ffmpeg -i 1.mkv -vcodec lib264 2. ...
- FFMPEG学习遇到avformat_open_input Invalid data found when processing input
按顺序调用 av_register_all(); avcodec_register_all(); avformat_network_init(); 调用 avformat_open_input() 打 ...
- FFMpeg打开文件报错:Invalida data found when processing input
我这边出现的错误是打开mp4文件能打开,aac文件也能打开,但是打开mp3文件的时候就开始报错:Invalida data found when processing input. 在我测试的过程中发 ...
- ffmpeg合并m3u8 ts key文件 解决Invalid data found when processing input错误
首先我先说明一下我的使用场景和错误原因: 我使用IDM从网站中批量下载ts文件,然后下载对应的一个.m3u8文件(ts文件列表和加密信息的描述)和一个key.key文件(秘钥).以上文件全部保存在同一 ...
- FFmpeg给视频添加水印
给视频加图片水印 ffmpeg -i input.mp4 -vf "movie=logo.png[watermark];[in][watermark] overlay=main_w-over ...
最新文章
- 对order by的理解
- 开发日记-20190428
- Altium Designer 使用小结
- React系列---React+Redux工程目录结构划分
- 工具坐标6点法_轻松学机器人系列之各坐标系关系
- C++返回字符串函数的几种实现方法
- Struts2做下载
- Hudi自带工具DeltaStreamer的实时入湖最佳实践
- 《计算机网络》第二章:物理层(The Physical Layer)
- 9.Android之日期对话框DatePicker控件学习
- Mybatis框架底层源码分析
- 12个优秀的 HTML5 网站设计案例欣赏
- jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]...
- [回溯法] 求n个元素的集合的幂集 - 递归实现 - C语言
- Java实现Unicode和中文相互转换
- [DFB] dfb 对图形的renderto
- 在线词云图生成(以WordArt为例)
- gcc编译优化-O0 -O1 -O2 -O3 -OS解析
- 大学计算机考试知识点归纳总结,大学计算机基础重点归纳.doc
- 接口的方式获取bing必应每天壁纸
热门文章
- BUUCTF [GYCTF2020] Blacklist
- python量化交易笔记---13.描述性统计
- 湖南省第六届大学生计算机程序设计竞赛 弟弟的作业
- 软件开发质量改进措施_改进可能是软件开发人员面临的最大挑战,因此我们该如何做...
- 安全级别(security level)
- 不能打印机与计算机,电脑打印机无法打印
- LeetCode-Python-875. 爱吃香蕉的珂珂
- 《Android 开发入门与实战(第二版)》——导读
- Pointpillars三维点云实时检测
- Python渗透测试工具库