FFmpeg编程开发笔记 —— FFmpeg介绍
2017-12-22 本文已影响112人
cain_huang
FFmpeg 简介
FFmpeg 是一套用来记录、转换数字音频、视频,并能够将其转化为流的开源计算机程序。
FFmpeg 包括视频采集功能、视频格式转换、视频抓图、给视频加水印等
FFmpeg 模块组成
libavformat —— 用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,音视频的格式解析协议,为libavcodec 分析码流提供独立的音频或视频码流源
libavcodec —— 用于各种类型声音/图像编解码;该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能,libavcodec被其他各大解码器ffdshow,Mplayer等所包含或应用
libavdevice —— 硬件采集、加速、显示。操作计算机中常用的音视频捕获或输出设备
libavfilter —— 音视频滤波器的开发,比如宽高比、裁剪、格式化、非格式化、伸缩灯
libavutil —— 包含一些公共的工具函数的使用库,包括算数运算、字符操作等
libavresample ——音视频封装编解码格式预设等
libswscale —— (原始视频格式转换) 用于视频场景比例缩放、色彩映射转换;图像颜色空间/格式转换等
libswresample —— 原始音视频格式转码
libpostproc —— (同步时间计算的简单算法)用于后期效果处理;音视频应用得后处理
ffmpeg —— ffmpeg提供的一个工具,用于格式转换、解码啊或电视卡即时编码等
ffserver —— 一个HTTP多媒体即时广播串流服务器
ffplay —— 简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示