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

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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钢材规格解读的软件_万维软件ERP五金建材行业解决方案

一、五金建材行业的特征:1、企业的规对较小:身为老板却“身兼多职”,采购、销售、发货、出纳啥都做;2、业务非常多样:虽然这类企业规模小,但也涉及到批发、零售、工程(局部工程)、家装等经营型态&#xff0…

MSDE 认证方式

1. 停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent 2. 打开注册表编辑器。要打开注册表编辑器,请依次单击开始和运行,然后键入:“regedt32”3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装…

duilib学习

记录duilib自学过程。 最近年底公司也没啥事情,自己就想着上网看看duilib怎么制作界面,因为之前想学习一直没时间,现在来看看。 其实学习的就好办法就是看demo,关于duilib网上的学习教程并不多,自己跟着demo敲一遍代…

2017.12.1T19_B2_2zuoye

package com.whxiong.work01; import java.util.Scanner; public class Calculator { Scanner input new Scanner(System.in); public void show() { char Calculator; double num 0; double num1 0; System.out.println("请输入第一个整数:"); …

git指令快捷 idea_IDEA+Git+Gitlab使用详细教程

GitLab 安装踩坑502错误码和访问卡顿解决办法Gitlab对内存的要求高,我的服务器Centos 72核心2G内存,频繁报502错误,访问也很卡。原因可能是可用内存太少。# free -m 查看可用内存这里看到free不多了,解决办法有扩内存或者使用虚拟…

记:ubuntu下交叉编译arm的链接库

以第三方库libjpeg为例,编译所需要的三步: 1、配置./configure脚本参数, ./configure --prefix/home/huanghaitao/Winshare/jpeg-9c/libjpeg CCarm-linux-gnueabihf-gcc --hostarm-linux --enable-shared --enable-static–prefix&#xff0…

flash 绘图API:绘制弧线

把之前没有记录的笔记都记录一下,顺便方便日后查询。绘制弧线,对于一些制作课件的人来讲会有一些用处的。绘制弧线采用的基本思路是采用描点的方法实现。从一个开始角度,到另一个角度结束,在这个角度区间里面进行描点连线。 【A&a…

scala中Stream理解

// Stream:Stream is lazy List;// Stream惰性求值指它只确定第一个值,后面的值用到再求值,这样可以防止数据过大全部加载导致内存溢出// 将Range转化成Streamval stream (1 to 1000).toStreamprintln(stream) // Stream(1, ?)println(stream.head…

关于SDL SDL_CreateWindowFrom和SDL_DestroyWindow第二次后无法将视频显示出来。

最近自己用QT搞一个监控平台的程序UI,然后后台一些视频处理是使用FFMPEG和SDL来做的。 在关闭播放窗口SDL_DestroyWindow后,再次去显示视频就会发现显示不出来。代码如下 int SDLPlayer::SDLPlay() {SDL_Window *sdlScreen{ NULL };//窗口SDL_Renderer*…

简单概念

一、数据库查询I. 直接生成sql语句。 sql server每次都要对其进行编译,在性能方面不会有很大的提高。另外也不够安全。容易被攻击.II. 使用带参数的sql命令。这种方式sql server只对其编译一次,对于不同的参数可以重复使用编译后的命令。提高了性能.III.…

瘦子的肠道菌群和胖子的区别_胖子和瘦子的终极 PK:比基因?比运动?比肠道细菌!...

学术会议的自助餐厅里碰见了小师妹,小师妹餐盘里的食物堆成了小山,几位同学指指小师妹的「救生圈」说道:「多日不见,增肥不少,看来这世间没有无缘无故的胖,也没有无缘无故的瘦啊!」小师妹一脸委…

转: Vim快捷键分类

Vim快捷键分类 http://www.cnblogs.com/jikey/archive/2011/12/28/2304341.html 一. 移动&#xff1a;h,j,k,l: 左&#xff0c;下&#xff0c;上&#xff0c;右。w: 下一个词的词首。e:下一个词的词尾。b:上一个词的词首。<>: v 模式选中后进行缩进。二. 跳转&#xff1a…

FFMPEG av_frame_move_ref 使用

最近使用ffmpeg总会碰到视频帧拷贝的问题&#xff0c;其中av_frame_move_ref 就可以实现视频帧的拷贝功能。 函数原型&#xff1a; void av_frame_move_ref(AVFrame *dst, AVFrame *src);使用方法&#xff1a; AVFrame *dst av_frame_alloc(); AVFrame *src av_frame_alloc…

HTTP详解(转载)

HTTP是一个属于应用层的面向对象的协议&#xff0c;由于其简捷、快速的方式&#xff0c;适用于分布式超媒体信息系统。它于1990年提出&#xff0c;经过几年的使用与发展&#xff0c;得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版&#xff0c;HTTP/1.1的规范化工作…

cmos存储器中存放了_CMOS存储器中存放了计算机的一些参数和信息,其中不包含在内的是( )。_学小易找答案...

【单选题】在计算机网络中,( )用于验证消息发送方的真实性。【单选题】【单选题】质点做半径为 R 的变速圆周运动时 , 加速度大小为 ( v 表示任一时刻质点的速率 ) ( )【单选题】在PC机中,输入/输出设备通过( )与各自的控制器连接起来。【多选题】一质点沿半径为R的圆周运动,路…

vos限制客户呼出时间

问题&#xff1a; 公司希望自己的卡线晚上 21&#xff1a;00-24&#xff1a;00 早上00&#xff1a;00-7&#xff1a;30不能打出电话&#xff0c;以防遭投拆&#xff0c; 那么如何设置&#xff1f; 方法&#xff1a; 找到客户使用的落地网关&#xff0c; 落地网关——补充设置…

QT-监视平台

空余时间学习QT的UI&#xff0c;做了一个监视平台&#xff0c;直接上图。 页面1&#xff1a;视频监控 页面2&#xff1a;视频回放 页面3&#xff1a;系统设置 未完成。。。。。。。。 做的不好的地方请大家指正&#xff0c;项目现在还在开发阶段&#xff0c;仅供学习参考…

Orchard架构介绍

在如何使用Orchard搭建敏捷个人的网站&#xff08;2&#xff09;中 介绍了如何使用Orchard&#xff0c;但对于我们来说&#xff0c;更重要的是学习Orchard是如何架构的&#xff0c;如果我们自己编写一个类似应用该如何做。今天有空再次看看 Orchard的其它内容&#xff0c;本篇介…

【服务器】一次对Close_Wait 状态故障的排查经历

最近接连听说一台线上服务器总是不响应客户端请求。 登录服务器后查询iis状态&#xff0c;发现应用程序池状态变为已停止。 按经验想&#xff0c;重启后应该就ok&#xff0c;第一次遇到也确实起了作用&#xff0c;当时完全没在意&#xff0c;以为是其他人无意把服务关闭了而已。…

听力阈值计算_中耳功能分析:临床听力测试的重要手段!

点击甘峰听力关注我们中耳功能测试是临床听力学测试中一个重要部分&#xff0c;和常规的气、骨导纯音测试不一样&#xff0c;中耳功能测试从测试的内容看&#xff0c;主要有鼓室声导抗测试、声順值测试、镫骨肌反射阈值测试、咽鼓管功能测试等。从测试的原理看&#xff0c;现代…