1、下载ffmpeg。
wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2
我是在这个网址上下载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文件。这在配置的时候很重要。
分享到:
相关推荐
编译ffmpeg的时候需要用到的第三方库,在这里帮大家找齐了。方便大家的开发工作 都是源代码来的。 本人在LINUX下编译通过,没任何问题。配合我发的ffmpeg 0.5版编译环境
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员...
FFmpeg是用于录制、转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等 主要功能:多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印...
由于原ffmpeg设计只是基于linux系统,可以通过其他交叉编译工具,在其他系统下编译,但是缺少了原系统编译器一些优秀的特性,而且在游戏环境下及其不稳定,ffmpeg X的目的就是在源码级别解决各种操作系统和编译器的...
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员...
FFMpeg是一个开源免费的项目,它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库...FFMpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows等。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员...
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员...
|--------- x264视频编解码在linux下实现的源码 |--------- [pdf文档] h264中文协议(中英文对照)9 |--------- T-REC-H.264 |--------- H264新手入门(H264乐园聊天记录 |--------- h24-tw(台湾教程) |-------...
1.此工具是qt 基于QAudioRecorder实现的录音以及基于QMediaPlayer实现的录音播放,使用ffmpeg...3.播放端实现音频波形图,目前只支持一个音频通道和两个音频通道的波形图,都是64位的,在windows和linux下都测试可用。
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及...FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Win
FFmpeg在各种各样的构建环境、机器架构和配置下编译、运行,支持Linux、Mac OS X、Microsoft Windows、bsd、Solaris等。 full版本是完整构建,shared版本添加了头文件和库,用来学习和调试程序。
Captura是一款免费开源的屏幕录制工具,它能够将屏幕上的任意区域、窗口录制成视频。...FFmpeg在各种各样的构建环境、机器架构和配置下编译、运行,支持Linux、Mac OS X、Microsoft Windows、bsd、Solaris等。
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及...FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Win
hl-capture是用于在Linux上录制以Rust编写的Half-Life视频的工具。 它类似于《 ,但侧重于视频捕获,而不是高级电影制作功能。 hl-capture设计为快速便捷。 视频和声音会立即使用编码为任何所需的格式,例如mp4 , ...
它在硬件加速的视频解码器之上提供了基于薄包装的便捷视频切片方法,例如 FFMPEG / LibAV(完成) Nvidia编解码器(完成) 英特尔编解码器 Decord旨在处理尴尬的视频混洗体验,以便提供类似于随机图像加载器的...
解码器用的是神器ffmpeg,所以在终端下可以播放大部分视频,图片,动态图片。使用时改变终端的字体大小,行数,列数,最大行数,最大列数可调节观看效果。播放器有两种播放模式,默认灰度播放,输入1使能颜色播放。...
但是在没有它的情况下,PyAV是至关重要的工具。安装由于依赖关系的复杂性,PyAV并不总是最容易从源代码安装的Python软件包。 从8.0.0版开始, 为Linux,Mac和Windows提供了与现代FFmpeg链接的二进制轮子。 您可以...
只需单击一下按钮,即可选择与ImageMagick,GraphicsMagick,FFmpeg和Mac Sips文件解码集成。 Fileaxy无法打开任何网络连接,并且不会要求输入密码。Fileaxy不使用任何第三方库或代码。尽可能减少对SSD和机械驱动...