声明一下:这些关于ffmpeg的文章只是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其他文章、书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚开始接触学习,如有不对之处还请指出。
1、FFMPEG简介
Open-source multimedia library,遵从GPL/LGPL协议,ffmpeg只是一个商标,它的所有权属于ffmpeg org。由Fabrice Bellard(法国著名程序员 Born in1972)于2000年发起创建的开源项目,同时也是TinyCC(1996)、发现最快速计算圆周率算法(1997)、TinyGL(1998)、QEMU(2003)、Jslinux(2011)等等的发起人或作者。
FFmpeg在linux平台下开发,但它同样也可以在其他操作系统环境中编译运行,包括Windows、Mac OS X等。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它包括了目前领先的音/视频编码库libavcodec。
2、FFMPEG功能:
多媒体视频处理工具FFmpeg有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
视频采集功能:ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。
视频格式转换功能:ffmpeg可以轻易地实现多种视频格式之间的相互转换。
视频截图功能:对于选定的视频,截取指定时间的缩略图。视频抓图,获取静态图和动态图,不提倡抓gif文件,因为抓出的gif文件大而播放不流畅
给视频加水印:使用ffmpeg可以给视频添加水印。
3、模块组成:
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编解码库libavcodec等。
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取
音视频帧等功能;音视频的格式解析协议,为libavcodec分析码流提供独立的音频或视频码流源。
libavcodec:用于各种类型声音/图像编解码;该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能,libavcodec库被其他各大解码器ffdshow,MPlayer等所包含或应用。
libavdevice:硬件采集、加速、显示。操作计算机中常用的音视频捕获或输出设备;
libavfilter:filter音视频滤波器的开发,如宽高比、剪裁、格式化、非格式化、伸缩。
libavutil:包含一些公共的工具函数的使用库,包括算数运算、字符操作。
libavresample:音视频封装编解码格式预设等。
libswscale:(原始视频格式转换)用于视频场景比例缩放、色彩映射转换;图像颜色空间或格式转换。
libswresample:原始音频格式转码
libpostproc:(同步、时间计算的简单算法)用于后期效果处理;音视频应用的后期处理,如图像的去块效应。
ffmpeg:该项目提供一个工具,可用于格式转换、解码或电视卡即时编码等;
ffsever:一个HTTP多媒体即时广播串流服务器。
ffplay:是一个简单的播放器,使用ffmpeg库解析和解码,通过SDL显示。
转载请注明出处:http://blog.csdn.net/gc_gongchao/article/details/47706137
版权声明:本文为博主原创文章,未经博主允许不得转载。