【音视频开发】基础知识:视频封装格式和编码格式
文章目录
- 一、封装格式与编码格式的关系
- 视频编码格式
- 视频封装格式
- MP4
- 3GP
- RM、RMVB
- AVI、WMV
- VOB
- FLV
- MKV
- WebM
- MOV
- TS
- 封装格式与编码格式对应
一、封装格式与编码格式的关系
视频编码格式和视频封装格式的关系及区别
这两者的关系好比酒与酒瓶的关系,编码格式好比酒瓶里的酒,是视频的核心内容,封装格式好比酒瓶,它只是负责把内部的视频轨、音频轨、字幕轨集成在一起。
弄清楚它们之间的关系后,就很清楚它们的区别了,视频编码格式是视频的内核,视频封装格式是视频的外壳。

视频编码格式
什么是视频编码呢? 视频编码就是为了压缩视频数据而做的一种压缩算法,视频编码格式可以理解为不同压缩算法和方法的一种名称。也就是说假如现在有某个视频编码格式的文件,那么这个文件就是纯视频流数据。
常见的视频编码格式:
| 视频编解码格式 | Corporation/Organization |
|---|---|
| MPEG-1 | MPEG |
| MPEG-2 | MPEG |
| MPEG-4 | MPEG |
| H.264 | JVT |
| H.265 | JCT-VC |
| WMV | Microsoft |
| DV | Sony / Panasonic / JVC |
| RM | RealNetworks |
| WMV9 | Microsoft |
| MJPEG | MJPEG / MJPEG(缩写) |
| DivX / XviD | MPEG-4的衍生编码标准(后者免费) |
| Dirac | BBC |
| PV8 / PV9 |
MPEG系列:MPEG-1第二部分、MPEG-2第二部分(等同于H.262)、MPEG-4第二部分、MPEG-4第十部分(等同于H.264,有时候也被叫做“MPEG-4 AVC”或“H.264/AVC”)
PS:MPEG系列音频编码主要包括:MPEG-1 Audio Layer 1/2、MPEG-1 Audio Layer 3(MP3)、MPEG-2 AAC 、MPEG-4 AAC 等等。
H.26x系列:H.261、H.262、H.263、H.264(等同于MPEG-4第十部分)、H.265/HEVC( ITU-T 和 ISO/IEC 联合推出)
其它视频编码:WMV系列、RV系列、VC-1、DivX、XviD、X264、X265、VP8、VP9、Sorenson Video、AVS
最新的视频编码还有H.266/VVC、AV1,大家有兴趣可以自己去了解,这里不再过多介绍。
其它音频编码:WMA、AC-3、PCM、LPCM、G.711、G.722、G.726、OGG、FLAC、APE、DTS

视频封装格式
什么是视频封装格式呢? 视频封装格式也叫做容器,它是将已经编码压缩好的视频流、音频流以及字幕按照一定的方式放到一个文件中,方便播放软件播放。一般来说,视频文件的后缀名就是它的封装格式。
常见的视频封装格式:
| 视频封装格式 | 视频文件格式 |
|---|---|
| AVI (Audio Video Interleave) | AVI |
| WMV (Windows Media Video) | WMV |
| MPEG (Moving Picture Experts Group) | MPG MPEG VOB DAT 3GP MP4 |
| Matroska | MKV |
| Real Video | RM RMVB |
| Quick Time File Format | MOV |
| Flash Video | FLV |
MP4
MP4 是一种最为常见的媒体容器格式,它不仅可以存储视频和音频,还可以存储图像和文本,几乎所有设备、网站和社交媒体平台都支持该格式。
3GP
3GP是MP4(MPEG-4 Part 14)格式的一种简化版本,减少了储存空间和较低的频宽需求,让手机上有限的储存空间可以使用;可以封装多种多条编码的视频和音频,也可以封装字幕,但没有流媒体功能,可以做成分片式进行流式播放。
RM、RMVB
由RealNetworks开发的一种档容器。它通常只能容纳Real Video和Real Audio编码的媒体。该档带有一定的交互功能,允许编写脚本以控制播放。RM,尤其是可变比特率的RMVB格式,体积很小,非常受到网络下载者的欢迎。
AVI、WMV
AVI、WMV都是微软推出的视频格式,AVI文件将音频和视频数据包含在一个文件容器中,允许音视频同步回放,类似DVD视频格式,AVI文件支持多个音视频流。 WMV是微软推出的一种采用独立编码的视频封装格式,它是在“同门”ASF格式的基础上升级延伸而来,在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。
VOB
VOB文件是用来保存所有MPEG-2的格式音频和视频数据的文件。VOB是Video OBject的缩写,VOB常用于DVD视频对象,是DVD影碟上的关键文件,内含的是电影的实际数据。
FLV
FLV是FLASH VIDEO的简称,FLV是随着Flash MX的推出发展而来的视频格式,特点是体积小、支持在线播放,曾经在流媒体领域非常流行。
MKV
MKV是一种新的多媒体封装格式,这个封装格式可把多种不同编码的视频及16条或以上不同格式的音频和语言不同的字幕封装到一个Matroska Media档内。
WebM
WebM由Google提出,是一个开放、免费的媒体文件格式。WebM 影片格式其实是以 Matroska(即 MKV)容器格式为基础开发的新容器格式,里面包括了VP8影片轨和 Ogg Vorbis 音轨。
MOV
MOV是Apple公司开发的QuickTime媒体文件封装格式,与AVI同期推出,MOV是一种流式视频封装,文件是以轨道的形式组织起来的,一个MOV格式文件结构中可以包含多个轨道。
TS
TS是一种被广泛应用的文件格式,全称为MPEG2-TS,其中TS即"Transport Stream"的缩写,TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
封装格式与编码格式对应

相关文章:
【音视频开发】基础知识:视频封装格式和编码格式
文章目录 一、封装格式与编码格式的关系视频编码格式视频封装格式MP43GPRM、RMVBAVI、WMVVOBFLVMKVWebMMOVTS 封装格式与编码格式对应 一、封装格式与编码格式的关系 视频编码格式和视频封装格式的关系及区别 这两者的关系好比酒与酒瓶的关系,编码格式好比酒瓶里的…...
OData Web API 一个开放标准的协议
OData Web API 是一个开放标准的协议,用于创建和使用基于 RESTful 的 Web API。它允许开发人员通过统一的方式来发布、查询、操作和管理数据资源。 OData Web API 基于 OData 协议,该协议定义了一组规范和约定,用于建立与数据源交互的标准化…...
PT100温度采集
1、信号采集的基本原理 PT100是将温度信号转换为电阻输出,其电阻值变化范围为0~200Ω。AD转换器只能对电压进行转换,无法采集直接采集温度,因此,需要一个1mA恒电流源给PT100供电,将电阻变化转换为电压变化。使用恒流源…...
ThinkSystem DM 全闪存阵列 —— 通过全闪存 NVMe 转型加速您的业务
ThinkSystem DM 全闪存阵列——通过全闪存 NVMe 转型加速您的业务 挑战 要缩短产品上市时间并提高客户满意度,企业必须不断改善关键业务运营的速度和响应能力。其中的一个关键要素是全闪存存储,它可以大幅加速关键工作负载。 不过,随着全闪…...
SpringCloud------代码demo(二)
SpringCloud------代码demo(二) 编码实操 以订单——支付微服务模块作为基础,开始逐渐扩充 微服务架构编码构建 1.约定 > 配置 > 编码 2.IDEA新建project工作空间 3.Rest微服务工程构建 总父工程 POM project module 首先创建maven项…...
TCL语法
目录 脚本、命令和单词符 置换 变量置换 命令置换 反斜杠置换 双引号和花括号 注释 脚本、命令和单词符 一个 TCL 脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开。 set a 1 set b 2 或者 set a 1;set b 2 都是合法的 TC…...
Partial convolution Gated convolution
组会讨论帖 1. 图像修复 图像修复(Image Inpainting),顾名思义,就是将图像中损坏的部分修复起来,是一种图像编辑技术,可以应用在移除物体、修复老照片、图像补全(eg,地震插值)等等。…...
量化投资 无套利 No-arbitrage
文章目录 量化投资 无套利 No-arbitrageState of Nature市场域 Market Span 套利 Arbitrage无套利和正线性定价规则 No-arbitrage and Positive Linear Pricing RuleImplication 1: One-price PrincipleImplication 2: PositivityImplication 3: AdditivityImplication 4: Homo…...
小程序容器助力智能移动门户统一
智能移动统一门户遵循“统一规划,统一标准,统一建设,统一运维”的指导思想。它灵活运用前端展示平台,微服务后端平台,流程引擎,规则引擎,非结构化数据平台,即时通讯平台,…...
opencv-python相机标定详解
文章目录 角点检测查看角点标定 opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,就能标定相机的内外参数。 角点检测 第一步是角点检测,首先需要读取棋盘格图像 import numpy as np import cv2 import ospath imgs #…...
由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名
由 Stanford Blockchain Accelerator、Zebec Protocol、 Nautilus Chain、Rootz Lab 共同主办的黑客松活动,现已接受优秀项目提交参赛申请。 在加密行业发展早期,密码极客们就始终在对区块链世界基础设施,在发展方向的无限可能性进行探索。而…...
PBDB Data Service:Measurements of specimens(标本测量)
Measurements of specimens(标本测量) 描述参数以下参数可用于指定您感兴趣的标本种类以下参数可用于筛选所选内容以下参数还可用于根据分类筛选结果列表以下参数可用于生成数据存档您可以使用以下参数选择要检索的额外信息,以及要获取记录的…...
低调的接口工具 ApiKit
最近发现一款接口测试工具--ApiKit,我们很难将它描述为一款接口管理工具 或 接口自测试工具。 官方给了一个简单的说明,更能说明 Apikit 可以做什么。 ApiKit API 管理 Mock 自动化测试 异常监控 团队协作 ApiKit的特点: 接口文档定义&a…...
opengauss 的回归测试
目录 一、回归测试说明 二、单独执行测试用例(开发调试) 一、回归测试说明 opengauss/postgresql 的回归测试,通过执行SQL比较输出打印,判断代码修改是否改变了其它功能逻辑。 OG的回归测试大体上和PG类似,主要是通…...
计算机组成原理基础练习题第四章-计算机的运算方法
对真值0表示形式唯一的机器数是()。A、原码 B、补码和移码C、反码 D、以上都不对在整数定点机中,下述说法正确的是()。A、原码和反码不能表示-1,补码可以表示-1B、三种机器数均可表示-1C、三种机器数均可表示…...
SpringBoot定时任务里的多线程
SpringBoot定时任务里的多线程 提示前言遇到的问题验证与解决验证单线程执行单任务分析代码及结果 单线程执行多任务 解决实现单任务的多线程为每个任务创建一个子线程 解决多任务的多线程设定固定容量线程池动态设定容量线程池固定线程池和动态线程池的选择 简单总结借鉴及引用…...
YOLO V3 SPP ultralytics 第二节:根据yolo的数据集,生成准备文件和yolo的配置文件
目录 1. 介绍 2. 完整代码 3. 代码讲解 3.1 生成 my_train_data.txt和my_val_data.txt 3.2 生成 my_data.data 文件 3.3 生成 my_yolov3.cfg 3.4 关于my_data_label.names文件 1. 介绍 根据 第一节 的操作,已经生成了下图中圆圈中的部分,而本…...
camunda流程引擎connector如何使用
在 Camunda 中,Connector 是一种用于与外部系统或服务交互的机制。它允许 BPMN 模型中的 Service Task 节点与外部系统或服务进行通信,从而使流程更加灵活和可扩展。使用 Connector,可以将业务流程与外部系统集成在一起,而无需编写…...
ECO基本概念:pre-mask eco gen patch flow
使用conformal LEC 进行pre-mask eco 时,如何产生patch,参考以下步骤: 官方推荐 Flattened ECO Flow(FEF) Conformal支持Flattened ECO Flow和Hierarchical ECO Flow。Flattened下,工具会将 ECO 分析重点…...
【初学人工智能原理】【4】梯度下降和反向传播:能改(下)
前言 本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。 本文【原文】章节来自课程的对白,由于缺少图片可能无法理解,故放到了最后,建议直接看代码(代码放到了前面)。 代码实…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
