Skip to content

Latest commit

 

History

History
57 lines (30 loc) · 2.33 KB

01_ffmpeg.md

File metadata and controls

57 lines (30 loc) · 2.33 KB

FFmpeg 基础知识

基础术语

容器(Container)

​ 一种文件格式,比如flv,mkv等。包含下面5种流以及文件头信息。

流(Stream)

​ 一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。

帧(Frame)

​ 帧代表一幅静止的图像,分为I帧,P帧,B帧。

编解码器(Codec)

​ 是对视频进行压缩或者解压缩,CODEC = COde(编码) +DECode(解码)。

复用/解复用(mux/demux)

​ 把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)。

​ 把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)。

帧率

​ 帧率也叫帧频率,帧率是视频文件中每一秒的帧数,肉眼想看到连续移动图像至少需要15帧。

码率

​ 比特率(也叫码率,数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的字节数,码率和视频质量成正比,在视频文件中中比特率用bps来表达。

简介

​ FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。包括如下几个部分:

  • libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库。
  • libavcodec:用于各种类型声音/图像编解码。
  • libavutil:包含一些公共的工具函数。
  • libswscale:用于视频场景比例缩放、色彩映射转换。
  • libpostproc:用于后期效果处理。
  • ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码。
  • ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移。
  • ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示。
  • ffprobe:收集多媒体文件或流的信息,并以人和机器可读的方式输出。

参考资料