• 7492阅读
  • 7回复

请问如何在Mac OS的Qt4中添加ffmpeg库? [复制链接]

上一主题 下一主题
离线andy_ghg
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-14
— 本帖被 XChinux 从 Qt多媒体编程 移动到本区(2011-08-16) —
系统环境:Mac OS X 雪豹
Qt版本:4.7
问题描述:
1。小弟最近在学习Qt4,想用其制作一个视频转码的东西。当然首选ffmpeg了,可是我编译好ffmpeg之后,没有发现.lib文件,不知这样是否正常?
2。由于没有.lib文件,所以小弟就尝试把libav*****目录拷贝到工程目录中如下图所示:

小弟在代码中加入了它们的头文件如下所示:
  1. extern "C"{
  2.     #include <libavcodec/avcodec.h>
  3.     #include <libavdevice/avdevice.h>
  4.     #include <libavfilter/avfilter.h>
  5.     #include <libavformat/avformat.h>
  6.     #include <libavutil/avutil.h>
  7.     #include <libpostproc/postprocess.h>
  8.     #include <libswscale/swscale.h>
  9. }
然后开始注册:
    avcodec_init();    av_register_all();但是很不幸的是,在构建项目的时候报错,内容如下:
:-1: 错误:symbol(s) not found for architecture x86_64
:-1: 错误:collect2: ld returned 1 exit status

请问,为什么会找不到指令集?

是否我需要修改pro文件?

如果哪位大侠能帮忙,在下感激不尽,这个问题已经纠结了我很多天了。我是业余学习的(C++也是业余学的),新手上路所以请各位多多包涵。
离线wxj120bw

只看该作者 1楼 发表于: 2011-08-14
回 楼主(andy_ghg) 的帖子
提示说你的库文件或者程序不是64位x86架构 你的电脑应该是64位x86
离线andy_ghg
只看该作者 2楼 发表于: 2011-08-14
Re:回 楼主(andy_ghg) 的帖子
引用第1楼wxj120bw于2011-08-14 11:44发表的 回 楼主(andy_ghg) 的帖子 :
提示说你的库文件或者程序不是64位x86架构 你的电脑应该是64位x86
是的,我的电脑是64位的x86,我下载ffmpeg源码的时候并未找到x86的版本,楼上大哥是否能给予一点帮助,ffmpeg官网上下载连接倒是有不少,但是没有看到区分unix、linux、windows或者区分32位和64操作系统的下载连接,还望楼上大哥能帮帮忙,在下感激不尽。目前我用了一个变通的方法,就是编译好ffmpeg后会产生一个ffmpeg的unix可执行文件,我通过QProcess::start(url)的方式能够打开这个unix可执行文件,但是在给参数的时候总是说解码器不支持,比如xvid。还请这位大哥能说出个中缘由。万分感谢。
离线andy_ghg
只看该作者 3楼 发表于: 2011-08-14
Re:Re:回 楼主(andy_ghg) 的帖子
引用第2楼andy_ghg于2011-08-14 15:42发表的 Re:回 楼主(andy_ghg) 的帖子 :
是的,我的电脑是64位的x86,我下载ffmpeg源码的时候并未找到x86的版本,楼上大哥是否能给予一点帮助,ffmpeg官网上下载连接倒是有不少,但是没有看到区分unix、linux、windows或者区分32位和64操作系统的下载连接,还望楼上大哥能帮帮忙,在下感激不尽。目前我用了一个变通的方法,就是编译好ffmpeg后会产生一个ffmpeg的unix可执行文件,我通过QProcess::start(url)的方式能够打开这个unix可执行文件,但是在给参数的时候总是说解码器不支持,比如xvid。还请这位大哥能说出个中缘由。万分感谢。


关于这个可执行文件无法使用,我想可能是因为源码编译过程中由于操作系统原因,部分解码库没有被编译造成的,不知这个问题如何解决?现在小弟只有Mac OS操作系统,身边其它操作系统中没有安装Qt环境。。。。悲催.....
离线wxj120bw

只看该作者 4楼 发表于: 2011-08-14
回 2楼(andy_ghg) 的帖子
"解码器不支持"错误不清楚  不过你下载的源码目录应该readme.txt或者build.txt或者其他的 你看下 应该对各种平台编译都有介绍
离线zlgdgzl
只看该作者 5楼 发表于: 2011-08-15
这么多回答,却一个都不对?
离线ppdayz

只看该作者 6楼 发表于: 2011-08-15
自己编译一个ffmpeg。源码很多
离线andy_ghg
只看该作者 7楼 发表于: 2011-08-18
引用第6楼ppdayz于2011-08-15 19:56发表的  :
自己编译一个ffmpeg。源码很多

我是自己编译了,编译后产生了一个ffmpeg unix可执行程序,我通过QProcess去调用并给予参数,但是我如何才能将这个ffmpeg unix可执行程序加入到Qt4的程序中?我给出url连接是可以调到的,但是程序打包后,这个ffmpeg我应该放在哪里?
快速回复
限100 字节
 
上一个 下一个