Linux 使用 ffmpeg 开发
http://download.chinaunix.net/download.php?id=5532&ResourceID=2990
我是在这个网址上下载ffmpeg-0.4.9-p20051120.tar.bz2,看网上有人用的是svn下载,但是我的机子中没有svn客户端,然后就在网上搜索,下载了这个版本。如果利用svn可以下载ffmpeg最新的版本。
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
2、解压
tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2
得到解压后的目录是ffmpeg-0.4.9-p20051120,名字太长,利用mv命令改为ffmpeg
mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg
3、配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。
4、编译并安装
make
make install
5、安装之后在/usr/local/ffmpeg会看到有三个目录
lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录
6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。
执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3
./ffplay 1.mp3
另外,bin目录下还有两个文件:ffmpeg和ffserver
ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。
7、编程
如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:
#include
编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)
如果没有第6部的操作,则编译的时候如下:
gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。
以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。
Linux 使用 ffmpeg 开发相关推荐
- 【Android FFMPEG 开发】Android 中使用 FFMPEG 对 MP3 文件进行混音操作
文章目录 一.前置操作 ( 移植 FFMPEG ) 二.FFMPEG 混音命令 三.Android FFMPEG 混音源代码完整示例 四.博客源码 一.前置操作 ( 移植 FFMPEG ) 参考 [A ...
- 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )
文章目录 Visual Studio 2019 社区版 CMakeList 开发环境安装 创建 FFMPEG 配置项目 FFMPEG 开发包下载 FFMPEG 头文件 静态链接库 ( .lib ) 动 ...
- 【转载】【重要】Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结
近段时间在学习 Ffmpeg.Mencoder 音视频转换,大概在 Ubuntu 10.04.Ubuntu 10.10.Ubuntu Natty 测试版上安装和使用过.重点是针对低分辨率的普通手机视频 ...
- 【Android FFMPEG 开发】Android 中使用 FFMPEG 将 PCM 音频采样转为 MP3 格式
文章目录 一.前置操作 ( 移植 FFMPEG ) 二.FFMPEG 将 PCM 采样转为 MP3 格式的命令 三.Android FFMPEG 混音源代码完整示例 四.博客源码 一.前置操作 ( 移 ...
- Linux实现ffmpeg H.265视频编码
Linux实现ffmpeg H.265视频编码 几乎所有观看的视频,数字地面电视,电缆,卫星或互联网上的压缩.原始的,未压缩的视频太大,会浪费太多的带宽.在DVD和Blu-ray之前,有视频CD(VC ...
- Linux下C++开发工具介绍
概述 就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, an ...
- linux独立应用程序开发,Linux应用程序开发(一)
Linux应用程序开发(一)---移植thttpd+Sqlite3+PHP5到arm linux(4) 移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下Cen ...
- 【转载】Visual Studio 2015 for Linux更好地支持Linux下的开发
原文:Visual Studio 2015 for Linux更好地支持Linux下的开发 英文原文:Targeting Linux Made Easier in Visual Studio 2015 ...
- ngrok服务器搭建_C/C++ Linux 后台服务器开发高级架构师学习知识路线总结
前言: 小编也是从事c方面10多年的工作经验.今天跟大家分享一下我总结出来的一系列 C/C Linux后台服务器开发的学习路线.从Linux开发工程师-Linux后台开发工程师-Linux高级互联网架 ...
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...
本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
最新文章
- 【生生被气死的一周】头秃
- 使用google云(GCP)二次利用安装kali Linux(kali browser)
- python基础知识ppt-python入门ppt下载
- PHP 规范之编程规范
- Ubuntu apt和dpkg命令用法
- 用awk一些常用技巧sort uniq
- winform button设计(一)
- Tomcat URL重写
- 知海系统开发程序解析
- C++中const使用总结
- 最小标示法模板 poj1509
- 盘式过滤器工作原理介绍
- 大数据分析“平民化”演进精准营销
- 深入解析Scheduler
- CString与char之间的转换
- 重装系统后需要做什么?
- 理解线性代数,矩阵运算,行列式
- 电子振荡器(Electronic Oscillator)簡介
- 嵌入式系统求职回忆录
- 假如银行利率如下所示,请分别计算存款10000元,活期1年、活期2年、定期1年、定期2年后的本息合计。(结果四舍五入,不保留小数位。使用Math.round(double d)实现