转自:http://www.hellotongtong.com/avwelcome/avbase-ffmpeg-intro.html
视频课程:https://edu.51cto.com/sd/5f2f3
FFmpeg简介
ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。
一般在windows平台下会进行windows开发和安卓开发,所以本文的目的就是在windows平台下编译用于windows和安卓使用的ffmpeg库
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
好文章,来自【福优学苑@音视频+流媒体】
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构
和读取音视频帧等功能;
libavcodec:用于各种类型声音/图像编解码;
libavutil:包含一些公共的工具函数;
libswscale:用于视频场景比例缩放、色彩映射转换;
libpostproc:用于后期效果处理;
ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
ffsever:一个 HTTP 多媒体即时广播串流服务器;
ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
官网介绍FFMPEG是一个多媒体框架,其包含了多个模块库:AVFormat,AVCodec,AVFilter,AVDivice,AVUtil等,并且提供了基于这些库的三个命令行工具: ffmpeg,ffplay,ffprobe。
一种方式是直接使用ffmpeg提供的这三个命令行工具来进行多媒体处理;
另一种是使用ffmpeg封装的这些库进行二次开发。
列出支持的格式
剪切一段媒体文件
提取一个视频文件中的音频文件
从 MP4文件中抽取视频流导出为裸的 H264数据
视频静音,即只保留视频
使用 AAC 音频数据和 H264视频生成 MP4文件
音频格式转换
从 WAV 音频文件中到处 PCM 裸数据
将一个 MP4的文件转换为一个 GIF 动图
使用一组图片生成 gif
淡入效果器使用
淡出效果器使用
将两路声音合并,比如加背景音乐
为视频添加水印效果
视频提亮效果器
视频旋转效果器的使用
视频裁剪效果器的使用
将一段视频推送到流媒体服务器上
将流媒体服务器上的流dump到本地
将两个音频文件以两路流的形式封装到一个文件中