博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ffmpeg centeros 下编译
阅读量:6278 次
发布时间:2019-06-22

本文共 1479 字,大约阅读时间需要 4 分钟。

hot3.png

1 下载ffmpeg

112246_o9ec_567830.png

2 解压

tar xvfj ffmpeg-2.6.1.tar.bz2

mv ffmpeg-2.6.1.tar.bz2  ffmpeg

3 配置编译动态库

编译出现 警告:yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

114112_Gp2P_567830.png

 

./configure --enable-shared --prefix=/usr/local/ffmpeg

4 编译并安装

make

make install

  5、安装之后在/usr/local/ffmpeg会看到有三个目录 

  lib 动态链接库位置 
  include 编程要用到头文件 
  bin 执行文件所在的目录 
  6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。 
这里我这样复制了还是不对,-lavcodec -lavutil -lavformat的时候,提示找不到库

然后我把 /usr/local/ffmpeg/lib  所有文件复制到 /usr/local/lib才可以的

  执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3 
  ./ffplay 1.mp3 
  另外,bin目录下还有两个文件:ffmpeg和ffserver 
  ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。 
  7、编程 
  如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写: 
  #include 
  编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作) 
  如果没有第6部的操作,则编译的时候如下: 
  gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil 
  编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行 ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。 
  以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/567830/blog/396846

你可能感兴趣的文章
技术人员的焦虑
查看>>
js 判断整数
查看>>
建设网站应该考虑哪些因素
查看>>
mongodb $exists
查看>>
js实现页面跳转的几种方式
查看>>
sbt笔记一 hello-sbt
查看>>
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>