国产与第三方库FFmpeg SDK
一个、编译并安装第三方库
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的更多相关文章
- ffmpeg第三方库编译记录
最近在研究ffmpeg的编译,之前使用的Ubuntu,需要安装虚拟机,非常麻烦,所以后来改研究在Windows平台编译. 一开始遇到很多挫折,参考了网上很多的帖子,但要么不全要么内容已过期,经过我的反 ...
- Qt编程可不可以结合其他的第三方库和本土API?(有zeroMQ的Qt封装,还可轻易使用Python的库)
作者:渡世白玉链接:http://www.zhihu.com/question/29030777/answer/59378712来源:知乎著作权归作者所有,转载请联系作者获得授权. 可以,十分可以,你 ...
- iOS开发常用第三方库
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- IOS常用第三方库《转》
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- python第三方库,你要的这里都有
Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst Chardet,字符编码探测器,可以自动检测文本. ...
- iOS 第三方库、插件、知名博客总结
iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...
- Python3.x:第三方库简介
Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...
- Python常用的标准库以及第三方库有哪些?
20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz ...
随机推荐
- 通过openssh远程登录时的延迟问题解决
Linux下的ssh 服务器一般用的都是open-ssh,可是发现有些时候通过ssh连接服务器时总会有大概10秒钟左右的延迟. 一开始以为是openssh的安全策略,防止端口扫描,后来发现自己想多了. ...
- 阿里云server该数据光盘安装操作
猛击这里:阿里云server该数据光盘安装操作
- Java栈的实例-数组和链表两种方法(转)
一.栈 栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶 (Top),另一端称为栈底 (Bottom). (2)当表中没有元素时称为空栈. ...
- 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)
在win7系统下, 我用的是vs2012版本号. Visual Assist沿用了快10年的界面,最终有了更新,变得更加适合Win8 以及 VS2012的主题风格了 ,这也是以后软件的发展趋势,仅仅是 ...
- LoaderManager使用具体解释(二)---了解LoaderManager
了解LoaderManager 这篇文章将介绍LoaderManager类,这是该系列的第二篇文章. 一:Loaders之前世界 二:了解LoaderManager 三:实现Loaders 四:实例: ...
- 我理解设计模式C++实现观察者模式Observer Pattern
概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设 ...
- MVC 使用EF Code First数据迁移之添加字段
PM> add-migration 20161109 -Force 正在为迁移“20161109”搭建基架.此迁移文件的设计器代码包含当前 Code First 模型的快照.在下一次搭建迁移 ...
- android AlarmManager采用
Android的闹钟实现机制非常easy, 仅仅须要调用AlarmManager.Set()方法将闹钟设置提交给系统,当闹钟时间到后,系统会依照我们的设定发送指定的广播消息.我们写一个广播去接收消息做 ...
- Java equals的一个坑
public class StringEqualsObject { public static void main(String[] args) { String name="Tom&quo ...
- Android搜索芽发展clientVersion1.0结束(过程和结果显示)
本文原:http://blog.csdn.net/minimicall 转载标明. 博士生.找我,我希望有一个合作伙伴.为了帮助他解决了移动终端产品.他给了我他的想法的叙述性说明,搜索布.要搜索布图像 ...