在Ubuntu下利用Eclipse调试FFmpeg
[编辑]第一步:准备编译环境
sudoapt-get update sudo apt-get -y install autoconf automake build-essential git libass-dev libfaac-dev \ libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \ librtmp-dev libsdl1.2-dev libspeex-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev \ libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev sudo ldconfig
在home下新建一个目录存放下载的源码:
mkdir ~/ffmpeg-setup
[编辑]第二步:安装x264和FFmpeg要用到的汇编器yasm
tar-zxf yasm-1.2.0.tar.gz cd yasm-1.2.0/ ./configure --prefix=/usr/localmakesudomakeinstall
[编辑]第三步:编译x264
tar-jxf x264-20130217.tar.bz2 cd x264-snapshot-20130217-2245/ ./configure --enable-static--enable-shared--prefix=/usr/localmakesudomakeinstall
[编辑]第四步:编译fdk-aac
tar-zxf fdk-aac-0.1.1.tar.gz cd fdk-aac-0.1.1/ autoreconf –fiv ./configure --prefix=/usr/localmakesudomakeinstallsudo ldconfig
[编辑]第五步:配置FFmpeg
tar-jxf ffmpeg-1.1.3.tar.bz2 cd ffmpeg-1.1.3/ ./configure --enable-gpl--enable-libass--enable-libfaac--enable-libfdk-aac--enable-libmp3lame \ --enable-libopencore-amrnb--enable-libopencore-amrwb--enable-libspeex--enable-librtmp--enable-libtheora \ --enable-libvorbis--enable-x11grab--enable-libx264--enable-nonfree--enable-version3 \ --disable-optimizations--disable-asm
注意:不需要make
需要加上选项--disable-optimizations --disable-asm,不需要--prefix=/usr/local选项和--enable-shared选项,否则调试时会报错。
[编辑]第六步:安装JRE运行环境(eclipse运行时需要)
tar-zxf jre-7u-17-linux-i586.tar.gz
解压后得到jre1.7.0_17目录
sudomkdir-p/usr/lib/jvm sudomv ./jre1.7.0_17 /usr/lib/jvm
设置环境变量:
sudo gedit ~/.bashrc
在最后面加入以下语句后,保存退出
exportJAVA_HOME=/usr/lib/jvm/jre1.7.0_17 exportCLASSPATH=.:${JAVA_HOME}/lib exportPATH=${JAVA_HOME}/bin:$PATH
接着执行
source ~/.bashrc sudo update-alternatives --install/usr/bin/java java /usr/lib/jvm/jre1.7.0_17/bin/java 300
最后通过java -version检查是否安装成功。

[编辑]第七步:安装eclipse
直接解压即可;
给eclipse添加桌面快捷方式:右键选择Make Link;然后右键Move to 选择Desktop
[编辑]第八步:利用eclipse编译ffmpeg
启动eclipse后, File - New - Project
选择 "C/C++" 下的 "Makefile Project with Existing Code"
在Import Existing Code对话框中,Toolchain for Indexer Settings中选Linux GCC,并去掉C++勾选。点击“Browse”选中之前已经配置过的FFmpeg源码(到根目录);


选择Project - Build All编译。
[编辑]第九步:调试FFmpeg
右键Binaries下的ffmpeg_g.exe选择Debug as->Local C/C++ Application,选择gdb/mi
设置调试参数需要先执行一遍此操作;

设置调试参数:
右键点击ffmpeg_g.exe选Debug as-> Debug Configuration,在Arguments选项卡的Program arguments方框里可以填上调试参数。
在Ubuntu下利用Eclipse调试FFmpeg的更多相关文章
- 在Ubuntu下利用Eclipse调试FFmpeg《转》
参考原贴,其中编译命令有略微改动. 第一步:准备编译环境 #sudoapt-get update #-dev libspeex-dev libtheora-dev libtool libva-dev ...
- 在Windows下利用Eclipse调试FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- 在CentOS下利用Eclipse调试FFmpeg
所需软件 64位软件打包下载链接:http://pan.baidu.com/s/1i3B08Up 密码:o50u https://yunpan.cn/cBKDSbrGDgBvz 访问密码 1f55 ...
- 在Ubuntu下利用Eclipse开发FFmpeg配置小结
首先需要编译FFmpeg得到头文件和lib文件,参见:在Ubuntu下编译FFmpeg 选择File-New-C Project 选择Executable下的Empty Project,右侧选择Lin ...
- ubuntu下使用eclipse调试jni无法获取环境变量,本地库(java.library.path,LD_LIBRARY_PATH)等问题的解决。
首先要把本地库全部配置到LD_LIBRARY_PATH中. 然后一定要采用命令行方式启动eclipse(也可以写一个启动shell,通过桌面启动器打开这个shell),这样环境变量才会有效. 打开终端 ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- ubuntu下安装eclipse IDE for C/C++ developers
序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行li ...
- Ubuntu下增加eclipse菜单图标并配置java path(解决点击图标不能启动eclipse的问题)
Ubuntu下增加eclipse菜单图标 Ubuntu的菜单图标在/usr/share/applications目录下. 1. 在/usr/share/applications目录下新建eclipse ...
- ubuntu下不用eclipse开发cocos2d-x(命令行)
之前在ubuntu下通过eclipse搭建开发cocos2d-x的环境,但是由于eclipse界面在ubuntu显得很丑,在里面写代码,完全没有感觉,后来我转到了win7上通过vs2010和eclip ...
随机推荐
- Flash3D学习计划(二)——理解世界,取景,投影变换,并理解投影坐标系
各种坐标系都是有用的,因为某些信息只能在特定场景中才有意义. 一. 世界坐标系 世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架.这就意味着,能够用世界坐标系描述其他坐标系的位置, ...
- iOS_字典数组 按key分组和排序
int main(int argc, const charchar * argv[]) { @autoreleasepool { // 1.定义一个测试的字典数组 NSMutableArray *di ...
- linux-网络监控命令-netstat初级
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...
- 纯CSS实现网站常用的五角星评分和分数展示交互效果
最近做的一个项目涉及到评分和展示分数的模块,UI设计师也给了几个切好的图片,实现五角星评分方式很多,本质爱折腾的精神和对性能追求以及便于维护的考虑,搜集和尝试了很多方式,最终采用了纯css驱动的实现方 ...
- VMware报错“原因: 未能锁定文件”,打开失败
原文:http://jingyan.baidu.com/article/425e69e6bf64dbbe15fc16fe.html VMware打开复制的虚拟机,报错“原因: 未能锁定文件”,打开失败 ...
- Introduction to the TestFlight SDK
https://developer.apple.com/testflight/ When you want to test an app on your device, usually you plu ...
- selenium 调用方法
#coding:utf-8 from selenium import webdriver url = "http://demo.testfire.net" chrome_optio ...
- python里的“__all__ ”作用
转载:http://python-china.org/t/725 参考:http://www.cnblogs.com/alamZ/p/6943869.html 用 __all__ 暴露接口,这是一种约 ...
- 面试题:如何在不使用临时变量temp的情况下交换两个整数的值?
利用一个小技巧,一个整数a在异或另一个整数b两次以后所得的值还是整数a. 具体的过程我们可以自己找两个整数以二进制的形式自己在纸上画一下他们的异或过程.(异或的运算符号为"^") ...
- ES6里关于函数的拓展(二)
一.构造函数 Function构造函数是JS语法中很少被用到的一部分,通常我们用它来动态创建新的函数.这种构造函数接受字符串形式的参数,分别为函数参数及函数体 var add = new Functi ...