【FFmpeg】FFmpeg 相关术语简介 ( 容器 | 媒体流 | 数据帧 | 数据包 | 编解码器 | 复用 | 解复用 )
文章目录
- 一、FFmpeg 简介
- 二、FFmpeg 相关术语
- 1、容器
- 2、媒体流
- 3、数据帧
- 4、数据包
- 5、编解码器
- 6、复用
- 7、解复用
- 博客资源
一、FFmpeg 简介
FFmpeg 是 " Fast Forward mpeg " 的缩写 , 其符合 mpeg 视频编码标准 ;
FFmpeg 功能很强大 , 可以对音视频进行 格式转换 , 内容修改 , 等几乎所有涉及音视频的操作 ;
爱奇艺 , 优酷 , YouTube 等公司的音视频产品 , 几乎都是基于 FFmpeg 进行的二次开发 ;
二、FFmpeg 相关术语
1、容器
容器 Container : 容器的本质就是文件 , 是特定的视频文件 , 如 mp4 , mkv , flv 等格式的音视频文件 ;
容器的作用 : 容器中可以存放 音频 , 视频 , 字幕流 等信息 , 将这些信息整合在一起 , 按照特定规则放置在容器文件中 ,
使用 MediaInfo 打开一个 mp4 格式的视频文件 , 在 " 容器格式和一般信息 " 一栏中 , 可以看到该 mp4 容器文件中包含了 111 个 AVC 视频流 , 111 个 AAC LC 音频流 ;
MediaInfo 工具在 http://mediaarea.net/en/MediaInfo 地址下载 , 或本博客的博客资源中下载 ;
2、媒体流
媒体流 ( Stream ) : 时间上的一段连续数据 , 一段声音数据 称为 音频流 , 一段视频数据 称为 视频流 , 一段字幕数据 称为 字幕流 ;
这些媒体流数据 可以压缩 , 也可以不压缩 , 如视频流以 H.264 格式进行压缩 , 将视频帧编码成 关键帧 , 非关键帧 , 音频流一般是 AAC 编码格式进行压缩 ;
媒体流如果是压缩的 , 在播放时 , 先使用解码器解码 , 然后再播放 ; 生成文件时需要使用编码器 , 编码后存储到文件中 ;
3、数据帧
数据帧 ( Data Frame ) : 媒体流 由 若干 数据帧构成 ; 压缩格式中 , 数据帧是最小的处理单元 ;
在容器中如果有多个数据流 , 那么 视频帧 , 音频帧 , 字幕信息 , 交错存储 , 以保证实时性 ;
数据帧是未压缩的原始数据 , 如 : 视频帧每一帧都是一张完整的 YUV 图片 , 音频帧是 PCM 格式的 ;
4、数据包
数据包 ( Data Packet ) : 将 数据帧 压缩后就是 数据包 , 数据帧是未压缩的原始数据 , 数据包时压缩后的数据 ;
生成容器文件时 , 压缩数据 , 将数据帧 编码压缩 成 数据包 ;
播放容器文件时 , 解压数据 , 将数据包 解码展开 成 数据帧 ;
视频编码过程 : YUV 格式的图像 -> H.264 编码器编码 -> H.264 视频帧
视频解码过程 : H.264 视频帧 -> H.264 解码器解码 -> YUV 格式的图像
音频数据编码过程 : PCM 音频数据 -> ACC 编码器编码 -> AAC 音频帧
音频数据解码过程 : AAC 音频帧 -> AAC 解码器解码 -> PCM 音频数据
5、编解码器
编解码器 ( Codec ) : 数据帧 ( 原始数据 ) 与 数据包 ( 压缩数据 ) 之间的转换工具 ;
数据帧 ( 原始数据 ) -> 编解码器 ( 编码 ) -> 数据包 ( 压缩数据 )
数据包 ( 压缩数据 ) -> 编解码器 ( 解码 ) -> 数据帧 ( 原始数据 )
6、复用
复用 ( Mux ) : 将不同的 媒体流流 , 按照一定规则放入容器 ;
音频流 , 视频流 , 字幕流 ,
按照一定规则
封装到 容器 ( 视频文件 ) 中 ;
复用的关键工具时 复用器 ( Muxer ) ;
7、解复用
解复用 ( Demux ) : 从容器中解析不同的流出来 ;
从 容器 ( 视频文件 ) 中 ,
按照一定规则
拆分出 音频流 , 视频流 , 字幕流 ,
解复用的关键工具时 解复用器 ( Demuxer ) ;
博客资源
https://download.csdn.net/download/han1202012/19555927
【FFmpeg】FFmpeg 相关术语简介 ( 容器 | 媒体流 | 数据帧 | 数据包 | 编解码器 | 复用 | 解复用 )相关推荐
- 【FFmpeg】FFmpeg 相关术语简介 二
文章目录 一.码率与帧率 二.ffmpeg.ffplay.ffprobe 可执行文件 一.码率与帧率 帧率 : 帧频率 , 视频中每秒钟含有视频帧的帧数 , 一秒钟刷新多少张图像 , 连续移动的图像至 ...
- HTTP协议简介_请求消息/请求数据包/请求报文_响应消息/响应数据包/响应报文
文章目录 HTTP 介绍 请求数据包/请求消息/请求报文 请求数据包解析 响应数据包/响应消息/响应报文 HTTP 介绍 概念:Hyper Text Transfer Protocol 超文本传输协议 ...
- java 直播媒体流服务(ffmpeg、javacv)支持本地视频、网路视频
还在为视频推流和拉流而烦恼吗?还在为安装nginx.ffmpeg而头疼吗?只需要两步就可以省去这些烦恼,第一步:推流 第二步:播放,你确定不入手么 一.添加媒体流服务依赖包 maven pom.xml ...
- 【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )
FFmpeg 系列文章目录 [FFmpeg]Windows 搭建 FFmpeg 命令行运行环境 [FFmpeg]FFmpeg 相关术语简介 [FFmpeg]FFmpeg 相关术语简介 二 [FFmpe ...
- FFmpeg从入门到牛掰(一):解复用(demux)讲解
转载请注明出处:https://blog.csdn.net/impingo 项目地址:https://github.com/im-pingo/pingos 解复用讲解 概念 解复用操作 函数调用流程 ...
- ffmpeg——ffmpeg简要
FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- 快速了解WDM波分复用器的相关术语
快速导读: 常用的WDM波分复用技术:介质薄膜滤波器TFF(Thin Film Filter).阵列波导光栅AWG WDM器件结构:C-lens和G-lens 光纤准直器(fiber collimat ...
- 【四】【vlc-android】播放控制交互与demux解复用层、媒体数据流拉取层的具体数据传递和控制流程源码分析
1.VLC中有很多demux/mux/encoder/decoder模块,因此需要先了解这些模块的加载原理,模块的加载原理基本一致,因此举例分析MP4解复用模块如何加载完成的,主要流程如下: // v ...
- FFMPEG API函数根据SDP文件接收RTP媒体流
背景 版本ffmpeg 3.3.3:使用 FFmpeg实时接收rtp 音频和视频流,并生成视频文件. 在网上查阅了大量资料,基本上都是使用命令行来接收rtp媒体流的,由于项目中不得不使用ffmpeg接 ...
最新文章
- Flex警告:framework.swc”具有默认样式并且在 library-path 中,表...
- Linux基础命令---comm
- 会议交流 | “数据智能与知识服务”研讨会的专家报告题目已更新!
- Java夺命21连问!(附答案)
- fossid安装教程_Win10环境下6sV2.1模型编译
- MySQL Statement Cancellation Timer] but has failed to stop it.
- html页面关闭执行函数,html页面调用js文件里的函数报错--方法名 is not defined处理方法...
- 市场研究中的数据分析知识整理 (四)-主成分分析和因子分析
- apache 二级域名设置完整步骤
- 乘风领航、耀世创新——DEFI平台Lizard打造数字金融新世界
- 因涉政内容导致域名被封禁
- three.js判断两个向量(角度)夹角误差是否小于某个值
- 重磅:微信官方推出 Web 前端和小程序统一框架
- 不忍舍弃的回忆——我的大学时代
- Traccar记录足迹-服务搭建及使用
- EP21 Activity在非正常行为下的数据保存和恢复
- B站崩溃3小时引网友狂欢:A站成为最大赢家?
- 混凝土外加剂建筑化学品的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 中国电信SMGP接口
- 《Data Mining》第1章翻译 绪论