天天看点

FFmpeg简介

转自: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到本地

将两个音频文件以两路流的形式封装到一个文件中