X264 的编译和移植
来源:互联网 发布:亚米网络兼职 编辑:程序博客网 时间:2024/05/03 06:01
原文来自:http://www.cnblogs.com/lixiaoming90/archive/2012/08/25/2656991.html
摘要:
H.264提供比H.263和MPEG-4更高的压缩性能,使图像的数据量减少50%,有利于用有限的空间存储更多的图像数据;更好地支持网络传输,引入面向对象数据包的编码有利于将数据打包在网络中传输,支持流媒体服务应用;具有强的抗误码特性,以适应在噪声干扰大、丢包率高的无线信道中传输;对不同应用的时延要求具有灵活的适应性;编码和解码的复杂度具有可扩展性,支持编码和解码复杂度的不等分配和扩展。H.264的这种优异的压缩性能和良好的网络亲和性,很好地迎合了我们所需要的实时视频通信。所以H.264广泛的应用于视频监控、会议电视、可视电话、远程医疗、远程教学、视频点播、数字电视广播、数字视频存储等等各领域。H.264标准包含了三大开源编码器,它们分别是JM、X264、T264,通过比价他们的优缺点,选择移植X264进行视频编码。
准备阶段:
主机环境: Ubuntu11.10
目标机: 飞凌-Ok6410-A
交叉编译环境: arm-linux-gcc-4.3.2
源码准备: X2.64源码:http://www.videolan.org/developers/x264.html
在linux终端采用git下载:
$ git clone git:
//git
.videolan.org
/x264
.git
移植步骤:
1. 进入x264文件夹,进行配置
$ .
/configure
--prefix=
/lxm/x264_arm
--
enable
-shared --disable-asm --host=arm-linux
说明:--prefix=/lxm/x264_arm 安装目录
--enable-shared 打开动态链接,可以生成libx264.so
--disable-asm 因为是移植到arm开发板上,因此把汇编选项关闭
--host=arm-linux 指定目标CPU和系统
2. 配置完后生成config.mak,打开config.mak修改:
1)将 CC=gcc 改为 CC=arm-linux-gcc
2)将 LD=gcc -o 改为 LD=arm-linux-gcc –o
3)将 AR=ar rc 改为 AR=arm-linux-ar rc
4)将 RAMLIB=ranlib 改为 RANLIB=arm-linux-ranlib
保存退出
3. make 编译
4. make install 安装
安装之后在指定安装目录就有/bin,/include,/lib这三个文件夹,其中lib文件夹是动态链接库,/bin是可执行文件,拷贝到开发板的/lib,/bin目录就可以调用x264编码了
之前参照网上的配置,有几个问题,因为我移植的是最新的源码,所以有些配置不一样,还是自己探究比较好,今天终于搞定了。移植好了x264,下面就可以为视频采集压缩做准备,这几天研究了一下H.264视频编码,了解H.264不能对JPEG格式图片进行编码,后面的工作就是将中新微USB摄像头采集到的图片转换为yuv图片,为以后的智能机器人做准备。
参考文章:
http://xzpeter.blog.51cto.com/783279/181647
- X264 的编译和移植
- x264库的编译和移植
- x264的交叉编译和移植
- x264和ac编译
- x264编码的arm移植x264编码的arm移植
- x264的编译
- 开源库x264的编译
- X264的调试与移植
- X264的调试与移植
- X264的调试与移植
- X264的调试与移植
- FFMPEG编译x264和mp3
- IOS 编译x264和ffmpeg
- FastCGI的编译和移植
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- x264在android平台上的编译和使用
- linux编译x86和arm平台的x264
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- 1005 课程平均分
- IO - 同步,异步,阻塞,非阻塞
- 黑马程序员—File类
- geoserver中图层显示比例问题,设置某图层在规定比例尺内显示。
- 搭建mips学习环境
- X264 的编译和移植
- mkdir()与 mkdirs()方法的区别
- 获取设备描述表句柄示例
- mongodb备份及还原
- 1006 计算月收入
- CSS3 animation
- linux下设置环境变量总结
- 黑马程序员—File实例FileDemo2 学习日志
- POJ 3253 Fence Repair(哈夫曼)