XP下使用FFMPEG(API和exe)遇到的问题和解决方法。

  • 1、需求背景
  • 2、遇到的问题
  • 3、解决方法
    • 下载链接

1、需求背景

因为最近接到项目上的一个需求,就是在MP4(H264编码)文件里叠加指定字符,于是就想到了使用FFMPEG来解决。

2、遇到的问题

从理论上完全是行得通的(FFMPEG 4.x):

  • 对MP4文件解码 ;
  • 将视频帧推入滤镜处理,获取输出视频帧;
  • 编码写文件。
    问题:
  • XP下不支持 FFMPEG 4.x,系统库报错,“无法定位程序输入点XXX于动态链接库KERNEL32.dll”,找了KERNEL32.dll并且用Depends看了能找到缺少的函数,拷贝到程序运行目录下也不能解决,拷贝到系统System32下也不能解决。最关键的是现在下载FFMPEG Shared的地方居然关掉了!!!难道要自己下源码编译?伸手党可不做这么麻烦的事情。

3、解决方法

  • 找低版本的FFMPEG代替。找了一天才找到了一个FFMPEG 3.X版本的, 放到XP里面运行FFMPEG.exe,还是报错,发现可能是XP下的一些C++函数不适用,比如——vsnprintf_s,…,下载一个叫fixff.cmd的处理命令,放到DLL的目录下双击运行,发现其实就是修改DLL里面这些C++接口兼容到XP。
  • 接下来又是运行FFMPEG.exe,还是报错,仍然有不兼容的C接口,按道理不应该啊,就怀疑是FFMPEG.exe本身使用了这些不兼容XP的C接口,fixff.cmd只修改了DLL的并没有动FFMPEG.exe,然后就自己做了一个DEMO,再运行,果然可以,至此已经十分接近成功了。
  • 但是打开输入输出文件的时候,总是返回负数,结果发现3版本还是需要初始化操作(4.x已经不需要初始化了)。 然后在使用avfiter里面的avfilter_graph_create_filter时候,报错了,看了参数信息都没错,就像到上面fixff.cmd修改了DLL里面的一些C接口,可能是这个原因,就只把avfiter.dll这个动态库拷贝回来,完美解决。不容易,研究了一天。

下载链接

链接: https://download.csdn.net/download/qq_27731413/13189174.

XP下使用FFMPEG(API和exe)遇到的问题和解决方法。相关推荐

  1. opencv运行时exe 无法写进去的解决方法

    假设这个问题: 错误 1 fatal error LNK1168: 无法打开 F:\tu\tu5\Debug\tu5.exe 进行写入 tu5 tu5 解决方法: 1.如果你进程里面没有这个tu5.e ...

  2. 笔记本网络计算机和设备不可见,xp电脑不显示无线网络的七种原因和解决方法...

    xp纯净版系统电脑打开后发现桌面右下角不显示无线网络,如果要设置无线网络都不知道从哪里下手,这到底是怎么回事?造成xp系统不显示无线网络的原因有很多种,下面和大家讲解一下xp电脑不显示无线网络的七种原 ...

  3. 搜狗输入法在idea打不了汉字_IDEA下搜狗输入法输入中文时卡着不动的参考解决方法...

    在IntelliJ IDEA工具的java编辑窗口,给代码增加注释时发现,输入中文时,搜狗输入法界面不动,一直卡着,如图: 我想输入"根据"两个字,但搜狗输入法界面一直卡着不刷新, ...

  4. 在计算机找不到资源管理器,XP资源管理器里找不到文件夹选项的解决方法

    XP系统下的"资源管理器"中的有一个重要的文件夹选项,通过它我们可以更改很多文件相关的设置.不过,最近有些深度技术XP系统用户反映自己在对电脑进行病毒查杀后,突然在XP资源管理器里 ...

  5. Visual C++中error spawning cl.exe错误的两种解决方法

    Win10重装VC的朋友们,应该遇到过很对问题,按照网上很多建议装虚拟机和修改文件的文章来操作效果都不是很理想,本人也深受其扰,不过接下来这篇文章救我于水深火热之中. 原文地址为:Visual C++ ...

  6. xp无任何网络提供程序接受指定的网络路径解决方法--win7w.com

    xp系统是非常经典也是小伙伴们使用最久最熟悉的系统,在使用的时候很多都遇到了无任何网络提供程序接受指定的网络路径的情况,下面就为你们带来了解决的方法. xp无任何网络提供程序接受指定的网络路径怎么解决 ...

  7. python生成exe文件运行闪退解决方法

    ** python生成exe文件运行闪退解决方法: ** 使用pyinstaller生成.exe文件: pyinstaller -F filename.py 用python写了一个程序,在python ...

  8. keil复制代码乱码_win7系统下Keil复制中文注释到记事本出现乱码的解决方法

    Keil是软件编程的时候经常会用到的软件,但是有不少win7系统用户在复制Keil源程序中文注释到记事本的时候,发现出现了乱码的情况,遇到这样的问题该如何处理呢,现在为大家带来win7系统下Keil复 ...

  9. winlogon.exe应用程序错误的解决方法

    winlogon.exe应用程序错误的解决方法 参考文章: (1)winlogon.exe应用程序错误的解决方法 (2)https://www.cnblogs.com/haitao-fan/archi ...

最新文章

  1. 一站式学习Wireshark(一):Wireshark基本用法
  2. 进程的创建-fork
  3. mongodb 查看数据库和空间大小
  4. VS中的调试相关的技巧
  5. [BZOJ2738]矩阵乘法
  6. 【渝粤题库】陕西师范大学292961 会计学 作业 (高起专)
  7. LeetCode Range Sum Query Immutable
  8. php 控制器 模板,php学习笔记(一)php模板与控制器
  9. mysql active_GitHub - vipshop/drc: MySQL active-active replication solution.
  10. APUE学习笔记:第五章 标准I/O库
  11. mysql id div 1000000,mysql – 如何使用随机数据生成1000000行?
  12. 我不应该用计算机做题,超级计算器:能帮你做题的计算器,就是它了
  13. 全国地区对应身份证号码值关系--身份证号前2位
  14. Web开发常见问题汇总
  15. 光剑评注:其实,说了这么多废话,无非就是: 一切皆是映射。不管是嵌套 XML,还是 Lisp 嵌套括号,还是 XXX 的 Map 数据结构,一切都是树形结构——映射。...
  16. Excel如何从单元格中提取中文汉字
  17. Visual Studio Code For Markdown Guide
  18. 关于Mobius反演
  19. 网页导航栏设计方法和技巧
  20. 【其他】【RQNOJ】同分异构体

热门文章

  1. css预处理器sass使用教程(多图预警)
  2. 自学笔记:计时器Chronometer
  3. 【汇总】flash单个文件上传
  4. 基于UNet和camvid数据集的道路分割
  5. linux设备驱动归纳总结(五):4.写个简单的LED驱动
  6. 动态加载和静态加载及其编译步骤
  7. 深入理解C++对象模型-对象的内存布局,vptr,vtable
  8. mysql自增_面试官:为什么 MySQL 的自增主键不单调也不连续?
  9. wordpress html音乐,WordPress引用百度Ting音乐方法
  10. LeetCode 287. 寻找重复数