【音视频开发】基础知识:视频封装格式和编码格式

news2025/1/21 1:00:57

文章目录

  • 一、封装格式与编码格式的关系
    • 视频编码格式
    • 视频封装格式
      • MP4
      • 3GP
      • RM、RMVB
      • AVI、WMV
      • VOB
      • FLV
      • MKV
      • WebM
      • MOV
      • TS
  • 封装格式与编码格式对应

一、封装格式与编码格式的关系

视频编码格式和视频封装格式的关系及区别

 这两者的关系好比酒与酒瓶的关系,编码格式好比酒瓶里的酒,是视频的核心内容,封装格式好比酒瓶,它只是负责把内部的视频轨、音频轨、字幕轨集成在一起。

 弄清楚它们之间的关系后,就很清楚它们的区别了,视频编码格式是视频的内核,视频封装格式是视频的外壳。

在这里插入图片描述

视频编码格式

什么是视频编码呢? 视频编码就是为了压缩视频数据而做的一种压缩算法,视频编码格式可以理解为不同压缩算法和方法的一种名称。也就是说假如现在有某个视频编码格式的文件,那么这个文件就是纯视频流数据。

常见的视频编码格式:

视频编解码格式Corporation/Organization
MPEG-1MPEG
MPEG-2MPEG
MPEG-4MPEG
H.264JVT
H.265JCT-VC
WMVMicrosoft
DVSony / Panasonic / JVC
RMRealNetworks
WMV9Microsoft
MJPEGMJPEG / MJPEG(缩写)
DivX / XviDMPEG-4的衍生编码标准(后者免费)
DiracBBC
PV8 / PV9Google

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
MatroskaMKV
Real VideoRM RMVB
Quick Time File FormatMOV
Flash VideoFLV

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格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

封装格式与编码格式对应

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/522755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scala 从入门到精通

Scala 从入门到精通 scala风格与java风格 public class JavaDemo01 {public static void main(String[] args) {System.out.println("我爱你中国");} }object ScalaDemo01 {def main(args: Array[String]): Unit {println("我爱你中国")} }javac JavaDe…

24.JT-VUE课堂DEMO

<!DOCTYPE html> <html><head><meta charset"utf-8"><title>hello 入门案例</title></head><body><div id"app"><h1>双向数据绑定测试</h1><h3>{{ hello }}</h3></div&…

YOLO环境配置中一些常见的问题

在入门YOLO时&#xff0c;环境配置是绕不过的坎&#xff0c;本文希望通过列举一些常见的问题&#xff0c;帮大家解决一些疑难杂症。然而不同的电脑&#xff0c;环境配置是有差异的&#xff0c;本文不可能面面俱到&#xff0c;大家还是要掌握自己上网查问题、解决问题的能力。 …

easy X(C语言图形化界面)学习

easy X&#xff08;C语言图形化界面&#xff09;学习 易错&#xff1a;头文件创建窗口 图形填充文字创建输出图片鼠标消息函数(老版)鼠标操作&#xff08;新版&#xff09;键盘消息函数getch() 音乐播放修改窗口标题&#xff0c;弹出框框 易错&#xff1a; 1.文件为&#xff0…

DDP学习/PyTorch多GPU训练/查看模型在哪个GPU上

参考&#xff1a; pytorch如何查看tensor和model在哪个GPU上 https://blog.csdn.net/weixin_37889356/article/details/121792888Part 3: Multi-GPU training with DDP (code walkthrough) [pytorch官方教程&#xff0c;有股咖喱味的Inglish, 推荐] https://www.youtube.com/w…

5月14日第壹简报,星期日,农历三月廿五

5月14日第壹简报&#xff0c;星期日&#xff0c;农历三月廿五坚持阅读&#xff0c;静待花开1. 福布斯中国锂电产业链TOP100发布&#xff0c;宁德时代、赣锋锂业、比亚迪等入选。2. 平均降价84%&#xff01;山东、湖南、江西等多地骨科脊柱类耗材集采中选结果落地。3. 世界旅游组…

【CSS系列】第八章 · CSS浮动

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…

anylabeling 自动标注 使用记录 (跑不起来你打我)

目录 一、anylabeling 二、Segment Anything模型ONNX导出 1、下载这个项目 2、环境配置 3、下载SAM预训练权重 4、导出ONNX格式 三、yaml文件编写 四、视频讲解 五、使用记录 六、其他 一、anylabeling anylabeling项目地址 我直接用的之前yolov5的conda虚拟环境 p…

vim编辑器常用命令 (Centos)

1 安装vim编辑器 sudo yum update sudo yum install vim2 设置vim 显示行号 (:set nu) 步骤1&#xff1a;按 ESC 键 退出本机内容模式 步骤2&#xff1a;输入 :set number 或者 :set nu 步骤3&#xff1a;按回车 3 查找 / 步骤1&#xff1a;按 ESC 键 退出本机内容模式 步…

设计模式 - 工厂

文章参考来源 一、概念 创建简单的对象直接 new 一个就完事&#xff0c;但对于创建时需要各种配置的复杂对象例如手机&#xff0c;没有工厂的情况下&#xff0c;用户需要自己处理屏幕、摄像头、处理器等配置&#xff0c;这样用户和手机就耦合在一起了。 可以使代码结构清晰&a…

Python进阶知识(2)—— 什么是GUI编程?一起来学习用Python,Tkinter“做画”吧

文章目录 01 | &#x1f4d5; 什么是 G U I &#xff1f; \color{red}{什么是GUI&#xff1f;} 什么是GUI&#xff1f;&#x1f4d5;02 | &#x1f4d9; 什么是 T k i n t e r &#xff1f;为什么是 T k i n t e r &#xff1f; \color{orange}{什么是Tkinter&#xff1f;为什么…

ESP32在linux下烧录,提示权限有问题,解决方法

执行idf.py -p /dev/ttyACM0 flash下载时&#xff0c;提示这个错误 serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyACM0: [Errno 13] Permission denied: /dev/ttyACM0 解决方法&#xff1a; 1检查串行端口 /dev/ttyUSB0 是否已被其他程序占用…

神经网络的梯度检查

当编写完一个深层的网络时&#xff0c;可能求导方式过于复杂稍微不小心就会出错&#xff0c;在开始训练使用这个网络模型之前我们可以先进行梯度检查。 梯度检查的步骤如下&#xff1a; 然后反向传播计算loss的导数grad&#xff0c;用以下公式计算误差&#xff1a; 通常来说&…

超星学习通小助手多线程工具Python

话不多说&#xff0c;直接开始&#xff0c;不会安转的直接使用后面两款&#xff0c;下载直接打开exe运行 第一款&#xff1a;网课小助手python&#xff0c;需要自行安装Python环境&#xff08;支持Windows、Mac、Linux各种环境&#xff09; https://wwiv.lanzoul.com/ifVrC0vk…

【K8s】控制器

文章目录 一、认识Pod控制器1、控制器介绍2、控制器种类 二、ReplicaSet&#xff08;RS&#xff09;1、RS的作用与资源清单2、创建RS3、pod扩缩容4、镜像升级5、删除RS 三、Deployment&#xff08;Deploy&#xff09;1、作用与资源清单2、创建deploy3、扩缩容4、镜像更新5、版本…

Vite 是如何站在巨人的肩膀上实现的

所谓的巨人&#xff0c;指的就是 Vite 底层所深度使用的两个构建引擎——Esbuild和Rollup。这两个构建引擎对于 Vite 来说究竟有多重要呢&#xff1f;在 Vite 的架构中&#xff0c;这两者各自扮演了什么样的角色&#xff1f;接下来&#xff0c;我们一起拆解 Vite 的双引擎架构&…

瑞吉外卖项目笔记02——员工管理、设置公共字段自动填充

三、员工信息管理 3.1 添加员工 注意&#xff1a;在设计数据库表字段时&#xff0c;给userName添加了唯一索引&#xff08;所以员工用户名是无法重复的&#xff09; 流程&#xff1a; 前端页面发送POST请求&#xff0c;后端接收到请求和数据&#xff0c;将用户数据添加到数…

PyQt5桌面应用开发(14):数据库+ModelView+QCharts

本文目录 PyQt5桌面应用系列下一个玩具报表一&#xff1a;Markdown文档的列表显示Widget的树、表、列报表Qt中的MVC框架模型视图代理 报表二&#xff1a;Markdown文档的长度图形数据&#xff1a;Markdown文档和Sqlite数据库代码总结 PyQt5桌面应用系列 PyQt5桌面应用开发&#…

FE_Vue学习笔记 框架的执行流程详解

1 分析脚手架结构 &#xff08;1&#xff09;CLI就是 command line interface 的缩写。Vue CLI官网&#xff1a;Vue CLI &#xff08;2&#xff09;安装过程&#xff1a; &#xff08;PS&#xff1a; 提前安装过node.js了&#xff0c;没有安装的可以打开这个&#xff1a;Downl…

Flutter - 搭建引擎调试环境(iOS)

文章目录 前言开发环境安装依赖环境1. python32. depot_tools 获取引擎项目1. 创建engine空目录2. 创建.gclient文件并配置3. 指定引擎版本4. 同步引擎源码 搭建调试环境1. 构建编译1.1 生成构建所需文件1.1.1 主机端1.1.2 iOS端 1.2 完成构建编译 2. Xcode调试2.1 设置本地引擎…