FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
功能
视频采集功能、视频格式转换、视频抓图、视频加水印等
视频采集
支持以RTP传输到RTSP的流媒体服务器,支持直播应用
采集视频采集卡或USB摄像头,进行屏幕录制
视频格式转换
多个格式之间的互转
组成
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能
libavcode:用于各种类型声音/图像编解码
libavutil:包含一些公共的工具函数
libswscale:用于视频场景比例缩放、色彩映射转换
libpostproc:用于后期效果处理
ffmpeg:提供了一个工具,用于格式转换、解码或电视卡即使编码等
ffsever:一个HTTP多媒体即时广播串流服务器
ffplay:一个简单的播放器,使用ffmpeg库解析和解码,通过SDL显示
格式
支持的编码
源自FFmpeg项目组的两个视频编码:
Snow
FFV1
支持的格式
ASF、AVI、BFI、IFF、RL2、FLV、MXF,Material eXchange Format,SMPTE 377M、Matroska、Maxis XA、MSN Webcam stream、MPEG transport stream、TXD、OMA、GXF, General eXchange Format, SMPTE 360M、mov、mp4、m4a、3gp