FFmpeg简介


***【在线视频教程】***

好文章,来自【福优学苑@音视频+流媒体】

FFmpeg简介

    ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。

    一般在windows平台下会进行windows开发和安卓开发,所以本文的目的就是在windows平台下编译用于windows和安卓使用的ffmpeg库

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

好文章,来自【福优学苑@音视频+流媒体】



FFmpeg项目组成

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。

libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构

  • 和读取音视频帧等功能;

  • libavcodec:用于各种类型声音/图像编解码;

  • libavutil:包含一些公共的工具函数;

  • libswscale:用于视频场景比例缩放、色彩映射转换;

  • libpostproc:用于后期效果处理;

  1. ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;

  2. ffsever:一个 HTTP 多媒体即时广播串流服务器;

  3. ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

好文章,来自【福优学苑@音视频+流媒体】



FFMPEG组成

官网介绍FFMPEG是一个多媒体框架,其包含了多个模块库:AVFormat,AVCodec,AVFilter,AVDivice,AVUtil等,并且提供了基于这些库的三个命令行工具: ffmpeg,ffplay,ffprobe。


使用ffmpeg的方式分为两种:

    一种方式是直接使用ffmpeg提供的这三个命令行工具来进行多媒体处理;

    另一种是使用ffmpeg封装的这些库进行二次开发

好文章,来自【福优学苑@音视频+流媒体】



FFmpeg命令行

  1. 列出支持的格式

  2. 剪切一段媒体文件

  3. 提取一个视频文件中的音频文件

  4. 从 MP4文件中抽取视频流导出为裸的 H264数据

  5. 视频静音,即只保留视频

  6. 使用 AAC 音频数据和 H264视频生成 MP4文件

  7. 音频格式转换

  8. 从 WAV 音频文件中到处 PCM 裸数据

  9. 将一个 MP4的文件转换为一个 GIF 动图

  10. 使用一组图片生成 gif

  11. 淡入效果器使用

  12. 淡出效果器使用

  13. 将两路声音合并,比如加背景音乐

  14. 为视频添加水印效果

  15. 视频提亮效果器

  16. 视频旋转效果器的使用

  17. 视频裁剪效果器的使用

  18. 将一段视频推送到流媒体服务器上

  19. 将流媒体服务器上的流dump到本地

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

好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***