标题
ffmpeg Eclipse cdt Wascana
clq
浏览(0) +
2010-11-15 15:57:11 发表
编辑
关键字:
ffmpeg Eclipse cdt Wascana 据说这个组合不错.
clq
2010-11-15 16:07:03 发表
编辑
http://hi.baidu.com/howlwolf/blog/item/b6747e3e24efcd3d71cf6c2d.html -------------------------------------------------- 这两天研究了一下ffmpeg,对于如何编译,在网上看了很多资料(中文和英文都有,中文资料很少,而且基本都是直译)。我按照这些教程编译来编译去,都出现很多莫名的错误,比如Permission denied,Lame not found,Gcc is unable to create an executable file等。 我将我最后编译通过的过程记下来,如下: 1、准备: 1)下载svn软件,网址:http://tortoisesvn.sourceforge.net/downloads。我下载的 TortoiseSVN-1.3.5.6804-svn-1.3.2.msi,当前 最新版; 2)下载Dev-cpp软件,有着MinGW环境,不用自己去MinGW主页一个个下,MinGW上的版本实在是多,没打算去详细研 究,网址:http://www.bloodshed.net/。我下载的 Dev-C++ 5 Beta 9.2 (4.9.9.2),当前最新版。 3)下载Msys软件,网址:http://www.mingw.org/msys.shtml。我下载的MSYS-1.0.11-2004.04.30-1.exe,当前最新版。 4)安装svn软件,没什么好说明的,安装后需要重启动。 5)从svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk上checkout出ffmpeg。 2、安装: 1)首先安装Dev-Cpp软件,没什么好说明的,安装完后在系统变量path中增加bin的路径,我的是:C:/Dev-Cpp/bin。 2)安装Msys软件,一步步来,最后会出现提示设置,依次为y,y,C:/Dev-Cpp。“C:/Dev-Cpp”为你安装的MinGW的路 径,Msys需要映射到C:/Dev-Cpp/bin,能找到gcc等exe。 3、编译ffmpeg: 1)将通过svn checkout出的ffmpeg导入到Msys/home下,我的文件夹命名为ffmpeg。 2)启动Msys,在Msys中输入cd /home/ffmpeg。 3)输入./configure --enable-memalign-hack --enable-mingw32 --disable-debug --enable-small。 4)输入make。 4、大功告成: 在Msys/home/ffmpeg目录下你会发现编译好的ffmpeg.exe文件。 转载请注明作者:howlwolf。 附注:加上lame尚没有编译成功。 msys环境下./configure --enable-gpl --enable-memalign-hack --enable-mingw32 --enable-mp3lame --extra-cflags=-I/include --extra-ldflags=-L/lib -------------------------------------------------- http://zh.efreedom.com/Question/1-248828/%E7%BC%96%E8%AF%91%E5%9C%A8-Windows-%E4%B8%8A%E4%BD%BF%E7%94%A8-Wascana-FFMPEG 准备环境 在安装 Wascana 后,您需要更新各种 MinGW 和下面的文件包。下载并解压缩 (可以从 MinGW 网站下载他们) 以下: 下面的软件包: * bash 3.1 * coreutils 九十七 * m4 1.4.7 * 使 3.81 MinGW 包: * w32api 3.12 * MinGW 运行时 3.15
clq
2010-11-15 16:15:45 发表
编辑
http://topic.csdn.net/u/20070924/18/e467693f-155b-4e57-9553-dbd5423cb6ae.html ffmpeg.c可以在windows下使用Dev-c++来编译吗?[问题点数:60分,结帖人:glacierful] * * glacierful * * * 等 级: * 结帖率:98.21% * 楼主发表于:2007-09-24 18:23:02 最近一直在看ffmpeg中自带的那个ffmpeg.c示例,感觉还是挺有收获的。但只看不能调试还是太难受了。所以,就想试试是否可以编译。 装了Dev-c++,建了一个空项目,然后把ffmpeg.c加进项目,设置了包含文件的路径。开始编译,第一个编译错误就提示说找不到config.h头文件:config.h: No such file or directory。 Dev-c++是使用的gcc的编译器,是支持C99标准的,我想应该可以在windows下编译ffmpeg的源代码吧。 不知道大家有否在windows下编译成功的经验? * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 回复次数:12 * CoffeeCN用户头像 * CoffeeCN * (_++["J!Mpwf!Zpv) * * 等 级: * #1楼 得分:0回复于:2007-09-24 18:57:31 不能 ffmpeg要用MSys+MinGW编译 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 精华推荐:【微软面试题】请计算出1的个数 * CoffeeCN用户头像 * CoffeeCN * (_++["J!Mpwf!Zpv) * * 等 级: * #2楼 得分:25回复于:2007-09-24 19:05:05 我以前用ffmpeg的H264 Codec时候在windows中编译过 可以用Dev c++的编码库,但是要在MSys环境中编译,CYGWIN也不行 如果Lz要找资料可以去 ffmpeg工程组论坛 上找,有如何在windows下编译的文章 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 精华推荐: 一段小代码,是否出现了野指针? 请大家发表一下对野指针理解!(希望能Show出代码) * agaric用户头像 * agaric * ( 椒盐蘑菇 - 8$ 一盘儿) * * 等 级: * #3楼 得分:20回复于:2007-09-24 23:04:25 应该是可以的,它其实就是gcc的win32版本 但你得完成一些其他的工作 1.设置好工程环境: 头文件,链接库地址等等 2.一个正确的MAKE文档,包括需要编译的源文件,以及编译选项,预定义的宏等等。 3.可能需要修改部分代码,封装一些根具体平台相关的函数 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 精华推荐:大专生两年20万代码——就是我的文凭 * glacierful用户头像 * glacierful * * * 等 级: * #4楼 得分:0回复于:2007-09-25 09:45:36 to agaric(蘑菇星星) 也就是说ffmpeg它还是调用了一些linux的API函数的,如果要在windows下边编译,那就需要把这些函数换成windows下的相关函数。 不知道我的理解对不对? * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 精华推荐:多模式匹配问题 * whw123456用户头像 * whw123456 * * * 等 级: * #5楼 得分:5回复于:2007-09-25 11:03:13 友情帮顶~~ * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP 精华推荐:我画的素描,看一眼给5分! * lbaby用户头像 * lbaby * (成为诗人,是我的梦想) * * 等 级: * #6楼 得分:10回复于:2007-09-25 12:23:21 回复人:glacierful() ( 一级(初级)) 信誉:100 2007-09-25 09:45:36 得分:0 ? to agaric(蘑菇星星) 也就是说ffmpeg它还是调用了一些linux的API函数的,如果要在windows下边编译,那就需要把这些函数换成windows下的相关函数。 不知道我的理解对不对? ----------------------------------- 使用cygwin的原因就是,这些函数调用cygwin可以提 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * agaric用户头像 * agaric * ( 椒盐蘑菇 - 8$ 一盘儿) * * 等 级: * #7楼 得分:0回复于:2007-09-25 12:58:08 to glacierful 是這樣,雖然說不是所有的函數都可以在windows上找到解決的方法,但我想,對于ffmpeg這種庫,應該是可以的 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * CoffeeCN用户头像 * CoffeeCN * (_++["J!Mpwf!Zpv) * * 等 级: * #8楼 得分:0回复于:2007-09-25 15:05:10 cygwin编译的严重依赖dll,一般不使用cygwin,而MSys用的比较多 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * CoffeeCN用户头像 * CoffeeCN * (_++["J!Mpwf!Zpv) * * 等 级: * #9楼 得分:0回复于:2007-09-25 15:07:39 to agaric(蘑菇星星) 能否介绍下如何在makefile设置编码库路径,这样vc2003、和vc2005也能用了 学习了 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * evoloyeu用户头像 * evoloyeu * (evoloyeu) * * 等 级: * #10楼 得分:0回复于:2010-05-19 16:18:43 是可以的,我正两天也正在弄这个,我已经编译成果了,并且还能debug。 但是我用的是Eclipse+CDT+GDB ffmpeg用的0.5版本 * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * szuzsq用户头像 * szuzsq * (兮) * * 等 级: * #11楼 得分:0回复于:2010-10-27 00:36:08 ^1下 mark * 对我有用[0] * 丢个板砖[0] * 引用 * 举报 * 管理 * TOP * szuzsq用户头像 * szuzsq * (兮) * * 等 级: * #12楼 得分:0回复于:2010-10-28 16:52:41 刚好我调试过ffmpeg.0.5下的ffmpeg.c 1.安装好环境:eclipse +cdt +mingw+msys(这个网上很多,注:可能还需要mingw_gdb) 2.在window下用mingw下编译ffmpeg(这个网上也很多)。注:只做到./configure这一不,以后的make,make install不要做了,因为要在eclipse下编译调试 3.在eclipse下新建标准make c工程,目标目录在前面提到的ffmpeg.0.5那里。则eclipse会导入内容,且可以编译 4.设置断点 5.设置调试参数:运行程序选eclipse前面编译出来的ffmpeg_g.exe(注ffmpeg.exe不带调试信息);参数随意,如:-i "a.avi" "a.flv" 6.run 具体细节再交流40678884
clq
2010-11-15 20:45:08 发表
编辑
我自己的方法比较简单,先用 mingw 官方的网络安装程序安装完整版本(选择完整全部安装),我用的这个是 mingw-get-inst-20101030.exe 反正您取官网上最新的那个就行了.(为什么象 cygwin 一样搞这种网络安装方式,真蠢哪,至少要同时提供一个完整安装版嘛.这个软件虽然了不起,不过不代表这种做法不 SB 同样 SB 的还有 ffmpeg 本身,为什么故意写得这么难编译?都是开源为什么 apache 的源码这么好编译?没有什么原因,就是这帮 SB 并不想让太多人知道怎么做这类东西,减少竞争的对手.说实在的我就瞧不起这帮做开源的.) 然后执行两个命令就可以得到 ffmpeg.exe 了. 先进入 C:\MinGW\msys\1.0 执行 msys.bat 然后在其中的命令行入输入以下两个命令,然后开始漫长的等待吧,我的机器 30 分钟吧,公司机器可能只要 10 分钟. ./configure --enable-memalign-hack --disable-debug --enable-small make 不过如何生成那几个库的 dll 文件呢?
clq
2010-11-15 21:03:39 发表
编辑
不要象网上的教程一样单独安装 MSYS 那样很麻烦,直接用 mingw安装完就行. 另外 "--enable-mingw32" 已经过时了,要用 "-target-os=mingw32"
clq
2010-11-15 21:53:20 发表
编辑
这样可以编译出 dll $ ./configure --enable-memalign-hack --disable-debug --enable-small target-os=mingw32 --disable-static --enable-shared make 还有的编译选项 ./configure --help
clq
2010-11-16 12:16:01 发表
编辑
默认的 ffmpeg 居然是不带 h264 的, 要弄个 x264 的代码先编译好后再给 ffmpeg 用.好在 x264 的编译很容易: 同样是 msys 命令行下 ./configure --disable-asm --enable-shared --disable-pthread make 其中 --disable-pthread 是必须的,而 asm 那个是因为我没有编译 yasm 据说也要另外下载, --enable-shared 和 ffmpeg 中的一样,表示生成 dll 然后再编译 ffmpeg 时要加上 --enable-libx264 --enable-gpl 其中那个 gpl 的是附加 x264 后必须带有的. 但可惜的是这样会报 "ERROR: libx264 not found" 我又加了 ld 路径,结果还是不行. mmd 按提示看了 config.err 原来是找不到 x264.h , 怎么在 configure 时加入 include 目录呢, configure --help 都没说.结果在 http://www.ffmpeg.com.cn/index.php/Ffmpeg%E7%BC%96%E8%AF%91FAQ%E9%9B%86 看到了 "--extra-cflags=-I/opt/ffmpeg/include" 原来大爷要这样做啊. 这帮开源的真不是人啊.好了,最后的命令行是这样的: $ ./configure --prefix=/home/ffmpeg-0.5.3/libavcodec --enable-memalign-hack --d isable-debug --enable-small target-os=mingw32 --disable-static --enable-shared --enable-libx264 --enable-gpl --extra-ldflags=-L/home/x264 --extra-cflags=-I/home/x264 其中 "/home/x264" 对应到的实际目录是 "C:\MinGW\msys\1.0\home\x264" 唉,sb 呀. 看到这里你们明白为什么 linux 吹了这么久搞不定 windows 还被 mac 超过了没,现在最流行的 linux 是安卓,可惜也是 google 公司出的. 靠这帮 x 省省吧.
clq
2010-11-17 16:40:14 发表
编辑
我还发现有 avcodec_find_encoder 能找到 CODEC_ID_H264 但 avcodec_open 找不开它的问题,网上的解释真 xx 多呀,都不对,其实是因为 x264 的版本不对,对于我的情况来说是太高了.在这里 ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ 下载 x264-snapshot-20081015-2245.tar.bz2 刚好能与 ffmpeg-0.5.3 相配合. !@#$$!! 晕吧. 倒是可以试一下最新版的 ffmpeg 能否支持最新的 x264 . 另外,俺这个组合的 CODEC_ID_H264 效果与 CODEC_ID_MPEG4 相同,不知道是哪里还有问题?
clq
2010-11-17 16:50:33 发表
编辑
不对,还是 264 压缩比高点,不过编码器查看时都是 V_MPEG4 不过后面有不同的字符.
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.