您当前所在位置:首页安装教程linux下成功安装调用ffmpeg

linux下成功安装调用ffmpeg

更新:2023-11-07 20:30:03编辑:tooool归类:安装教程人气:100

1.Linux下加装ffmpeg

linux下成功安装调用ffmpeg

官方网站浏览:http://ffmpeg.org/download.html

浏览后上载至Linux预备加装,具体来说Cogl加装包

tar-xjvf ffmpeg-3.3.4.tar.bz2cdffmpeg-3.3.4/

假如那时继续执行configure实用性不然,可能会报如下表所示的严重错误

严重错误的原意是 yasm/nasm 包不存有或是很旧,能采用--disable-yasm停止采用那个快捷键校对,yasm是这款解释器,因此是全然改写了nasm的编订自然环境,转交nasm和gas句法,全力支持x86和amd64x86,因此这儿加装呵呵yasm方可

加装yasm

更多SourceforgeLabVIEW全然免费申领前台朋友圈【数据资料】另行以获取

加装ffmpeg过程中,继续执行./configure时,报yasm/nasm not found or too old. Use –disable-yasm for a crippledbuild严重错误,分析、解决如下表所示:

分析:yasm是编订校对器,ffmpeg为了提高效率采用了编订指令,如MMX和SSE等。因此系统中未加装yasm时,就会报上面严重错误。

解决:加装yasm校对器。加装方法如下表所示:

在http://www.tortall.net/projects/yasm/releases下面找到适合自己平台的yasm版本。然后进行加装。举例如下表所示:

1)浏览:wgethttp://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz2)Cogl:tarzxvfyasm-1.3.0.tar.gz3)切换路径:cdyasm-1.3.04)继续执行实用性:./configure5)校对:make6)加装:makeinstall

加装获得成功后继续回到ffmpegCogl后的目录,继续执行下面命令校对并加装

./configure --enable-shared --prefix=/monchickey/ffmpegmakemakeinstallmake校对过程有点长makeinstall会把ffmpeg相关继续执行程序、头文件、lib库加装在/monchickey/ffmpeg/下
耐心等待完成后继续执行
cd /monchickey/ffmpeg/

进入加装目录,查看呵呵发现有bin,include,lib,share这4个目录

bin是ffmpeg主程序二进制目录

include是C/C++头文件目录

lib是校对好的库文件目录

share是文档目录

然后进入bin目录,继续执行

./ffmpeg -version

查看当前版本的详细信息,默认情况下一般会报

libavdevice.so.57: cannot open shared object file: No such file or directory

原因是lib目录未加载到链接到系统库中

系统ld目录列表在/etc/ld.so.conf中,打开文件会发现,

里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如mariadb-x86_64.conf

创建一个文件并写入lib路径方可,继续执行命令: vim/etc/ld.so.conf.d/ffmpeg.conf

然后添加一行内容: /monchickey/ffmpeg/lib

后保存并退出,然后继续执行 ldconfig 使实用性生效,

那时再次继续执行 ./ffmpeg -version 显示就正常了

ffmpeg相关库功能

ffmpeg相关的库主要是以下7个

libavutil:用于多媒体编程,主要包含安全合适的字符串操作函数、数学运算函数、随机数字生产器、数据结构、多媒体处理的相关函数(如对像素和采样格式的计数)等,但它不是libavcodec和libavformat所需的库代码;

libavcodec、libavformat:有些视频文件格式(如AVI)没有指出应该采用哪种编码(如h.264)来解析音频和视频数据,它们只是按视频格式封装音视频数据,因此经常碰到打开视频文件只能听到声音而没有画面,则用libavformat来解析视频文件并将编码流分离出来,libavcodec对流进行解码;

libavdevice:为一些常见的多媒体输入或输出设备提供了抓取和渲染的通用架构,因此很多输入和输出设备,如Video4Linux2, VfW, DShow, and ALSA;

libavfilter:提供了一个通用规定音视频过滤架构,包括一些过滤器、源、汇(什么是源、汇,我也没搞清楚,待研究)

libswscale:继续执行高度优化的图像缩放、色彩、像素格式转换操作

libswresample:继续执行高度优化的音频重采样、重换算、样本格式转换操作

5.代码初始化ffmpeg库接口函数

代码文件ffmpegmain.c中

其中avcodec_register_all();是要采用的接口,要包含"libavcodec/avcodec.h"头文件

运行gcc -o ffmpegmain ffmpegmain.c-I/monchickey/ffmpeg/include -L/monchickey/ffmpeg/lib -lavcodec方可

进行ffmpeg开发,则根据情况初始化相关接口功能实现所需要的功能

6.记录注解:

1.ffmpeg代码版本为最新版本,API接口名称会有更新,可查看ffmpeg\doc\ APIchanges 文件确定名称变更记录;

总结:那时ffmpeg加装和最简单的命令行视频转换就完成了,实际上ffmpeg命令行工具能有很多参数不用编程就能实现强大的功能,那个非常牛

更多SourceforgeLabVIEW全然免费申领前台朋友圈【数据资料】另行以获取。

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

xp系统下执行netstat -an命令提示不是内部或外部命令如何解决如何成为一名“网络与信息安全管理员”?国家职业技能标准来了

游客 回复需填写必要信息