一.PC机qt显示程序:
(1)ffmpeg库和x264库的PC版本,位置
1.1ffmpeg库的安装位置/usr/local/ffmpeg/lib (为了方便,就把x264的库也复制到这个目录下了)
编译命令:
ffmpeg编译x86环境
./configure --target-os=linux --cc=gcc --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping
make
make install
ffmpeg头文件位置/usr/local/ffmpeg/include(注:在编译时遇到个uint64_c的错误,需要在/libavutil/common.h加上定义)
1.2 x264库的安装位置/usr/local/lib,为了使用方便就把120放到了ffmpeg/lib下面了。
编译命令:
./configure --enable-shared --prefix=/usr/local
make
make install
(注意:如果只想第一条出现关于yasm版本的错误,参考链接http://blog.csdn.net/to_cm/article/details/7108986)
x264的头文件位置/usr/local/include/
各个库文件的位置设置在qt的webcam-client.pro文件里面,如下图所示
(2)编译qt程序注意事项
修改/etc/ld.so.conf文件,在编译qt的时候将/usr/local/ffmpeg/lib和/usr/local/lib添加都这个文件里面,再执行ldconfig命令。编译完成后,生成了可执行文件,就需要把刚才添加的两个库删除掉,再执行ldconfig命令。不然Fedora9系统重启后不能进入界面。
以上qt程序是接收来自192.168.1.108的8888端口的qt程序,下一步编写arm板上向192.168.1.108 8888端口发送视频的程序
二 ARM版程序说明
(2)ffmpeg库和x264库的ARM版本,位置
2.1ffmpeg库的安装位置/usr/local/arm_ffmpeg/
从上图可以看出x264的库也在里面,如果arm程序编译缺少x264的库,可以把它再编译到这个目录下,也就不需要复制了。
因此也需要注意Makefile的库文件位置了,设置如下
补充一点:程序交叉编译后,下载到ARM运行需要相应库的支持,四个库列表如下
libavcodec.so.54
libswscale.so.2
libavutil.so.51
libx264.so.130
当然还需要match.db这个数据库,程序中会用到。
三源文件
(1)ffmpeg库安装文件(这个文件生成的是54版本的库,从上面截图可以看到)
http://download.csdn.net/detail/mashang123456789/7274337
(2)x264库安装文件(这个文件生成的是120版本的库,从上面截图可以看到)
http://download.csdn.net/detail/mashang123456789/7274361
之前安装的时候只能生成264.a文件,不能生成264.so文件,后来安装yasm就可以了
http://download.csdn.net/detail/mashang123456789/7274377
(3)PC qt程序源文件
http://download.csdn.net/detail/mashang123456789/7274399
(4)ARM程序源文件
http://download.csdn.net/detail/mashang123456789/7274441