一个、编译并安装第三方库

1. libfaac

# tar -zxvf faac-1.28.tar.gz

# cd faac-1.28

# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared

# make; make install





2. libmp3lame

# tar -zxvf lame-3.98.4.tar.gz

# cd lame-3.98.4

# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared

# make; make install





3.libx264

# tar -xvf x264-snapshot-20110818-2245.tar

# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared

# make; make install





4. librtmp

# tar -xvf rtmpdump_git0819.tar

# cd rtmpdump

# cd librtmp

# vim Makefile

#prefix=/usr/local

prefix=YOUR_SDK_INSTALL_DIRECTORY

...

#CRYPTO=OPENSSL

CRYPTO=

...

#SO_LDFLAGS_posix=-shared -Wl,-soname,$@ 

SO_LDFLAGS_posix=-Wl,-soname,$@

...

#SHARED=yes

SHARED=no 





【保存并退出】

# make

# cd ..

# vim Makefile

#prefix=/usr/local

prefix=YOUR_SDK_INSTALL_DIRECTORY

【保存并退出】

# make SYS=darwin XDEF=-DNO_SSL CRYPTO= SHARED=

# make; make install





二、FFmpeg SDK的编译与安装

1. 改动FFmpeg 的 configure

# cd ffmpeg

# vim configure

$vim configure

...

#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket

enabled librtmp && { check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lpolarssl -lwinmm -lws2_32 ||

                        check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lssl -lcrypto -lz ||

                                                die "ERROR: librtmp not found or RTMP_Socket() missing, librtmp 





version must be >= 2.2.f"; }





【保存并退出】





2. FFmpeg SDK

# vim ffmpeg_configure.sh

#!/bin/sh





./configure \

--prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY \

--enable-gpl --enable-nonfree --enable-version3 \

--disable-shared --enable-static \

--enable-pthreads --enable-runtime-cpudetect \

--enable-zlib --enable-bzlib \

--enable-postproc \

--extra-cflags='-I/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/include -DREDIRECT_DEBUG_LOG' \

--extra-ldflags='-L/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/lib -gl' \

--disable-encoder=aac \

--enable-libfaac --enable-encoder=libfaac \

--enable-libmp3lame --enable-encoder=libmp3lame \

--enable-libx264 --enable-encoder=libx264 \

--enable-librtmp \

--enable-avfilter --enable-filter=movie 

【保存并退出】

# chmod +x ffmpeg_configure.sh

# ./ffmpeg_configure.sh

# make; make install





三、应用程序的编译

# gcc output_example.c -g -o output_example 

-I/opt/YOUR_SDK_INSTALL_DIRECTORY/include -L/opt/YOUR_SDK_INSTALL_DIRECTORY/lib  

-lavformat -lavdevice -lavcodec  -lavutil -lavfilter -pthread -ldl -lswscale -lbz2 -lasound  

-lmp3lame -lfaac -lx264 -lrtmp -lz -lm

版权声明:本文博客原创文章,博客,未经同意,不得转载。

国产与第三方库FFmpeg SDK的更多相关文章

  1. ffmpeg第三方库编译记录

    最近在研究ffmpeg的编译,之前使用的Ubuntu,需要安装虚拟机,非常麻烦,所以后来改研究在Windows平台编译. 一开始遇到很多挫折,参考了网上很多的帖子,但要么不全要么内容已过期,经过我的反 ...

  2. Qt编程可不可以结合其他的第三方库和本土API?(有zeroMQ的Qt封装,还可轻易使用Python的库)

    作者:渡世白玉链接:http://www.zhihu.com/question/29030777/answer/59378712来源:知乎著作权归作者所有,转载请联系作者获得授权. 可以,十分可以,你 ...

  3. iOS开发常用第三方库

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  4. IOS常用第三方库《转》

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  5. Python库,让你相见恨晚的第三方库

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...

  6. python第三方库,你要的这里都有

    Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst   Chardet,字符编码探测器,可以自动检测文本. ...

  7. iOS 第三方库、插件、知名博客总结

    iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...

  8. Python3.x:第三方库简介

    Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...

  9. Python常用的标准库以及第三方库有哪些?

    20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz ...

随机推荐

  1. 入门git

    入门git   0x01前言 既然没有华丽的出场,那就平凡的分享,首先我要说明一点本篇文章针对Git初学者,对我自己学Git的资源的整合,其实本篇索引应该在我写Git系列文章的时候就紧跟着放上索引的, ...

  2. MIT 操作系统实验 MIT JOS lab2

    MIT JOS lab2 首先把内存分布理清楚,由/boot/main.c可知这里把kernel的img的ELF header读入到物理地址0x10000处 这里能够回想JOS lab1的一个小问.当 ...

  3. Asp.net获取用户名和IP

    1. 在ASP.NET中专用属性:    获取服务器电脑名:Page.Server.ManchineName    获取用户信息:Page.User 获取客户端电脑名:Page.Request.Use ...

  4. Threejs 它可以在建立其内部房间效果可见

    Threejs 中建立可看到其内部的房间效果 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协 ...

  5. Thinkphp编辑器扩展类kindeditor用法

    一, 使用前的准备. 使用前请确认你已经建立好了一个Thinkphp站点项目. 1,Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们拷贝到你的站点项目的Th ...

  6. 快速排序:升序+降序----java实现

    快速排序思路:先把第一个元素令为low下标,最后一个为high下标.并把第一个元素令为temp来作为标准元素.以标准元素来调整数组,使比标准元素小的都在标准元素前,比标准元素大的都在标准元素后.这样一 ...

  7. ZOJ Monthly, October 2010 ABEFI

    ZOJ 3406 Another Very Easy Task #include <cstdio> #include <cstring> const int N = 10000 ...

  8. [LeetCode116]Path Sum

    题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...

  9. 并发编程实践三:Condition

    Condition实例始终被绑定到一个锁(Lock)上.Lock替代了Java的synchronized方法,而Condition则替代了Object的监视器方法,包含wait.notify和noti ...

  10. chrome主页被篡改为360该溶液的导航

    昨天,安装游戏后,,发现chrome该主页被篡改为360导航. 进入chrome设置更改主页,再次启动chrome或360导航,后来头发今天chrome快捷方式目标再加上一堆的属性后面360网站导航, ...