ffmpeg在linux下面的编译和导入eclipse
来源:互联网 发布:广告投放知乎 编辑:程序博客网 时间:2024/04/29 05:13
分为二部分,第一部分是ffmpeg的编译,第二部分是如何导入eclipse
第一部分 ffmpeg在linux下面的编译
1、下载ffmpeg。 在网上搜索一下,或者到官方网站下载(推荐官网那下载) 使用git命令下载源代码的的命令为: git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 这样下载的源代码不用解压。 使用apt-get 下载源代码的命令为: apt-get source ffmpeg 推荐使用这种方法下载源代码,因为这样的版本是最稳定的 2、解压 tar命令解压 3、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg 其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。 ./congigure 表示执行当前目录下的configure 命令 可能问题: 1. 提示“ bash: ./configure: 权限不够 ”,解决方法: chmod +x configure (2)使用apt-get下载后的源代码 可能权限不够,因为使用了 sudo apt-get这个命令,去掉sudo 就可以了 2. 出现 yasm not found, use --disable-yasm for a crippled build解决方法: 缺少yasm环境,添加之 sudo apt-get install yasm 4、编译并安装 make make install
make 命令后就是编译的过程,这个过程的时间很长,你可以聊聊天喝喝茶浏览下网页
5、安装之后在/usr/local/ffmpeg会看到有三个目录 lib 动态链接库位置 include 编程要用到头文件 bin 执行文件所在的目录
下面的步骤可能用不上,实际上在eclispe开发管理源代码的时候更用不上 6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。复制的第一条命令: sudo cp libavcodec.so libavformat.so libavutil.so libavdevice.so libavfilter.so libswscale.so //usr/lib 复制的第二条命令: sudo cp -r libavdevice libavformat libswscale libavcodec libavfilter libavutil /usr/include 执行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文件。这在配置的时候很重要。
第二部分 :导入eclipse
编译通过了,面对这么多源文件肯定要管理工具去管理这些源代码,实际上在linux上开发用vim除非那种大牛级人物,否则就是自娱自乐。管理源代码工具一般就是eclipse,还有QT但是我一般用的eclipse.关于如何安装eclispe自己去网上找资料
1.确保你的eclipse已经安装了CDT插件,CDT是让eclipse支持c/c++。如果不知道怎么安装,请参考:
http://max.berger.name/howto/cdt/ar01s04.jsp#installingcdt
2. 导入:
建立项目工程:
File->new->MakefileProject with Existing Code
在ImportExisting Code对话框中的Toolchainfor Indexer Settings中选LinuxGCC
然后点Browse找到源代码文件夹
然后点OK->Finish
可以看到新建的工程中已经包含了所有的源码和编译后的文件。
调试:
下面以调试ffmpeg为例,你可以调试ffmpeg工程中任何一个,ffmpeg,ffplay, ffserver等。
右键点击ffmpeg_g选debugas->Local c/c++ Application->gdb/mi 然后Ok
关于参数的设置:
右键点击工程选择 debugconfigurations -> Arguments在Program arguments输入运行调试的参数
例如:
-i /home/limingkuan/ceshi2/test%d.png kuan.mp4
现在搞定了,就以调试运行了
0 0
- ffmpeg在linux下面的编译和导入eclipse
- linux 下面编译FFMPEG
- 在android下面完成 ffmpeg最新版的编译
- 终于在android下面完成了ffmpeg最新版的编译
- 毕设-02.27 在linux下完成ffmepg+vlc的编译和链接 并成功导入eclipse编译运行
- Linux下面的编译和连接
- FFMPEG在LINUX下的编译
- ffmpeg在linux平台下的编译
- 终于在android下面完成了ffmpeg最新版的编译,弱弱的记录
- mysql程序在linux下面的编译方法
- Atheros网卡在linux下面的配置与编译详情
- ffmpeg 在linux下编译
- ffmpeg 在linux下编译
- ffmpeg 在linux下编译
- ffmpeg 在linux下编译
- 在linux上编译ffmpeg
- linux虚拟机下面编译ffmpeg,并调用其main方法
- 在linux下联合编译ffmpeg和SDL源码之一
- Remove Duplicates from Sorted Array
- 软件文档编写向导
- configure,host,编译
- Web服务器父与子 Apache和Tomcat区别
- C++虚函数表的解析
- ffmpeg在linux下面的编译和导入eclipse
- (转)抓包工具Wireshark使用体会
- HTTP头信息解读
- 成功必备的八个心态十五种特殊能力
- oracle学习总结(四)
- 如何查询rac中实例发送的平均消息大小
- hadoop中的文件操作 FileSystem
- iOS应用崩溃日志分析
- Oracle 客户端注册表字符集修改,解决数据库导入时乱码