您的位置:首页 > 其它

一、制作屏幕录像

2012-11-03 16:00 417 查看
一、在linux上编译ffmpeg

下载文件到/home/wyq/,

1、cd /home/wyq/ffmpeg 切换到当前目录;

2、./configure --disable-yasm --enable-shared --prefix=/home/wyq/ffmpeg 生成config.h等文件,生成动态库;

其中,--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。若要生成静态库,换为--enable -static。

3、make 运行

4、make install 安装,生成各种.a,.so,.h文件

这时会在ffmpeg中生成lib、include、bin文件夹,lib文件夹中都是生成的.a,.so的库文件,include中是各种编译要用的.h文件,bin中是执行文件所在的目录。

为了以后编译方便,将lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下,把include目录下的ffmpeg目录复制到/usr/include下。

二、试运行

在/home/wyq/下,新建一个simulation文件夹,和ffmpeg平级,下面再新建src, include, out, obj这四个目录,并把tutorial01.c和一个测试视频test.mp4放在src目录下。

1、切换到src目录下,输入gcc -g -o tutorial01 tutorial01.c -lavutil -lavformat -lavcodec -lz -lavutil -lswscale -lpthread -lm -I../ffmpeg

编译报错: /usr/bin/ld:can not find -lz ;解决办法:输入sudo apt-get install zliblg-dev。但是当时我的第一反应是去掉-lz,编译后也成功了。

至于-lpthread我不知道这个是干什么的,也去掉了。

编译报错: can not find libavutil.so等等 ,这些都是由于没有将生成的库文件放入/usr/lib下,放入后即可。

注意:/usr/lib需要系统权限,输入su即可。复制命令:cp 原文件的路径 要放入的目录;若要把一个文件夹的全部内容放入另一个文件中,在cp后加-r。

2、输入./tutorial01 test.mp4,会输出一系列RGB图片,成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: