ffmpeg学习(2)——Ubuntu下编译ffmpeg
来源:互联网 发布:手机网络提速 编辑:程序博客网 时间:2024/06/04 18:03
一:下载ffmpeg源码
源码下载网址:http://www.ffmpeg.org/download.html ,然后解压到自己指定目录
二:安装SDL
SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作。如果不安装SDL,FFMPEG将不能生成ffplay.exe播放器。在Ubuntu下安装SDL也很简单,只需要依次执行下列命令:
sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install gfx1.2-dev
(如果make install后没有ffplay:
1、确认Makefile中指定的config.mak(在ffmpeg根目录下)中:CONFIG_FFPLAY=yes,如果不是需要删除原来的源码包和生成文件然后重新./configure
2、在重新./configure之前需要安装libsdl1.2-dev,命令为sudo apt-get install libsdl1.2-dev,如果安装失败,之前如果安装过sdl-devel包最好将其卸载。根据错误原因来解决。
3 然后在依次按步骤执行下面的工作
)三:安装x264和yasm。x264是非常流行的视频编解码工具,yasm则用于x264中汇编语言优化。在安装yasm时需要注意必须获取系统的root权限
yasm需要到官网上下载好源代码,解压后手动编译安装:
./configure
make
make install
在编译过程中,大部分的代码都是通过这种方式编译的
(关于yasm我是直接使用apt-get install yasm获取的好像也是可以的)
到官网下载X264的源代码,编译:
./configure --prefix=/usr --enable-shared<span style="white-space:pre"> </span>//必须指定prefix位置,否则编译ffmpeg的时候会提示找不到libx264
make
make install
(x264也可是使用apt-get install x264直接获取)
四:配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg.
注:--enable-shared 是允许其编译产生动态库,
那么--enable-static 应该是产生静态库,
在以后的编程中要用到这个几个动态库。--prefix设置的安装目录
五:编译安装ffmpeg
make
make install
安装成功后会在/usr/local/ffmpeg下出现三个目录
bin执行文件目录
lib,静态,动态库目录
include 头文件目录
问题及问题解决:
a. ffmpeg: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory
解决方法:
vi /etc/ld.so.conf
加入:/usr/local/lib
/usr/local/ffmpeg/lib
执行ldconfig
- ffmpeg学习(2)——Ubuntu下编译ffmpeg
- FFmpeg学习—ubuntu 下编译 Android ffmpeg
- 【ffmpeg学习记录】ubuntu下编译ffmpeg及ffmpeg-tutorial
- ubuntu下编译ffmpeg
- Ubuntu下编译ffmpeg
- ubuntu下编译FFmpeg
- Ubuntu下编译FFmpeg
- ubuntu下编译ffmpeg
- ubuntu下编译FFmpeg
- ubuntu下编译FFmpeg
- Ubuntu下编译ffmpeg
- Ubuntu下FFmpeg编译
- ubuntu下ffmpeg编译安装
- ubuntu下ffmpeg编译安装
- ubuntu下ffmpeg编译安装
- Ubuntu下编译安装FFmpeg
- Ubuntu(linux) 下编译ffmpeg
- Ubuntu 下编译安装FFmpeg
- 改进的KMP算法
- 拖动 tableView 来缩放顶部图片
- 使用Picasso加载网页图片到RecyclerView
- nyoj1254 Code the Tree (第七届河南省程序设计大赛)
- linux下报错bash: service: command not found
- ffmpeg学习(2)——Ubuntu下编译ffmpeg
- 简单的MYSQLI事务处理
- Android-SlidingMenu
- NYOJ 题目289 苹果
- 初始android studio 的 Gradle Plugin
- sqlserver2008 无法连接到 (local)
- 成员函数的重载/重写与隐藏
- 第十三周上机实践——项目1-分数类中的运算符重载
- 初识Swift