♣FFmpeg是什么?
♣FFmpeg组成
♣下载工具
♣安装FFmpeg
♣应用到j2ee项目
前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世。雷霄骅---巨星陨落。此文多为摘录自ffmpeg的文档。
github地址:https://github.com/FFmpeg/FFmpeg
本文ffmpeg软件包地址:http://download.csdn.net/detail/sinat_31719925/9864080
1.FFmpeg是什么?
构成FFmpeg主要有三个部分,
2.1第一部分是四个作用不同的工具软件,分别是:ffmpeg.exe,ffplay.exe,ffserver.exe和ffprobe.exe。
- ffmpeg.exe:音视频转码、转换器
- ffplay.exe:简单的音视频播放器
- ffserver.exe:流媒体服务器
- ffprobe.exe:简单的多媒体码流分析器
2.2第二部分是可以供开发者使用的SDK,为各个不同平台编译完成的库。如果说上面的四个工具软件都是完整成品形式的玩具,那么这些库就相当于乐高积木一样,我们可以根据自己的需求使用这些库开发自己的应用程序。这些库有:
- libavcodec:包含音视频编码器和解码器
- libavutil:包含多媒体应用常用的简化编程的工具,如随机数生成器、数据结构、数学函数等功能
- libavformat:包含多种多媒体容器格式的封装、解封装工具
- libavfilter:包含多媒体处理常用的滤镜功能
- libavdevice:用于音视频数据采集和渲染等功能的设备相关
- libswscale:用于图像缩放和色彩空间和像素格式转换功能
- libswresample:用于音频重采样和格式转换等功能
2.3第三部分是整个工程的源代码,无论是编译出来的可执行程序还是SDK,都是由这些源代码编译出来的。FFmpeg的源代码由C语言实现,主要在Linux平台上进行开发。FFmpeg不是一个孤立的工程,它还存在多个依赖的第三方工程来增强它自身的功能。在当前这一系列的博文/视频中,我们暂时不会涉及太多源代码相关的内容,主要以FFmpeg的工具和SDK的调用为主。到下一系列我们将专门研究如何编译源代码并根据源代码来进行二次开发。
3.下载工具
在官网上我们可以找到"Download"页面,该页上可以下载FFmpeg的工具、库和源代码等。在选择"Windows Packages"下的Windows Builds后,会跳转到Windows版本的下载页面:
在下载页面上,我们可以看到,对于32位和64位版本,分别提供了三种不同的模式:static、shared和dev
- static: 该版本提供了静态版本的FFmpeg工具,将依赖的库生成在了最终的可执行文件中;作为工具而言此版本就可以满足我们的需求;
- share: 该版本的工具包括可执行文件和dll,程序运行过程必须依赖于提供的dll文件;
- dev: 提供了库的头文件和dll的引导库;
4.安装FFmpeg
4.1 这里下载的是static版本,将其下载解压到E:\javaEdit\ffmpeg目录下:
4.2配置环境变量:E:\javaEdit\ffmpeg\bin;
4.3 dos窗口输入 ffmpeg -version 命令,如有信息则说明成功:
5.应用到j2ee项目:
【Linux编译安装ffmpeg】
安装过程: 下载安装源,配置,编译,安装,设置环境变量。
# wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz # tar -zxvf ffmpeg-3.1.tar.gz # cd ffmpeg-3.1 # ./configure --prefix=/usr/local/ffmpeg # make && make install 等待安装完成... # vi /etc/profile 在最后PATH添加环境变量: PATH=$PATH:/usr/local/ffmpeg/bin export PATH 保存退出 # source /ect/profile 设置生效 # ffmpeg -version 查看版本
注意:
若安装过程中出现以下错误:
yasm/nasm not found or too old. Use –disable-yasm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file “config.log” produced by configure as this will help
solve the problem.
需要安装yasm
# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz # tar -zxvf yasm-1.3.0.tar.gz # cd yasm-1.3.0 # ./configure # make && make install
结束!