Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >视频编码格式和封装格式有什么关系?相机常见的编码格式有哪些?

视频编码格式和封装格式有什么关系?相机常见的编码格式有哪些?

原创
作者头像
微帧Visionular
发布于 2024-10-30 08:00:25
发布于 2024-10-30 08:00:25
6470
举报

Q:视频编码格式和封装格式的关系是什么?

业内有个很形象的比喻,可以带大家很快弄清楚封装格式和编码的关系:编码格式和封装格式的关系好比酒与酒瓶的关系,编码格式就像酒瓶里的酒,是视频的核心内容,封装格式就像酒瓶,它只是负责把内部的视频轨、音频轨、字幕轨集成在一起。简单说,视频编码格式是视频的内核,封装格式是视频的外壳,因此编码格式与封装格式对文件大小的影响也截然不同。

之所以有这么多不同的封装格式是为了适应不同的播放需求。比如,典型的mp4一般只包括一条视频轨和一条音频轨,适合大多数设备,兼容性最好;mkv可以封装入多个音频轨、字幕轨,更适合网络传播分享。

视频编码格式

视频编码格式是用于存储或传输数字视频内容的格式,它通常使用标准化的视频压缩算法,将某个视频格式的文件转换成另一种视频格式的文件。视频编码压缩技术是计算机处理视频的前提,视频信号数字化后数据带宽很高,因此计算机很难对之进行保存和处理,采用编码压缩技术降低数据带宽,就可以将视频信号保存在计算机中并作相应的处理。目前常见的视频编码格式有H.264、H.265等等......

封装格式

封装格式,是将已经编码处理好的视频数据、音频数据、字幕数据等按照一定的方式放到一个文件中,这个文件的格式就是封装格式,如果一个视频文件是以某个格式封装起来的,那么它的文件后缀名一般会体现出来。

常见的封装格式及对应的文件后缀名如下:

图片
图片

常见的封装格式及对应编码格式:

图片
图片

Q2:相机领域常见的编码格式有哪些?

MotionJPEG——使用机型:佳能5D4、1DX2

MotionJPEG(M-JPEG或MJPEG)是一种视频压缩格式,其中每个视频帧或数字视频序列的隔行字段被单独压缩为JPEG图像。最初是为多媒体PC应用程序开发的,Motion JPEG享有广泛的客户端支持:大多数主要的web浏览器和播放器提供本机支持,其余的插件可用。使用M-JPEG标准的软件和设备包括网络浏览器、媒体播放器、游戏机、数码相机、IP摄像机、网络摄像机、流媒体服务器、摄像机和非线性视频编辑器。像佳能5D4、1DX2在4K视频拍摄中使用的编码就是Motion JPEG,封装格式则是MOV。

ProRes——使用机型:高端电影机、摄影机、部分航拍器以及Atomos外录设备

ProRes是由苹果公司开发的一种专业视频编解码器,具有高色彩保真度和低压缩度的特点,适用于影视级别的视频拍摄和后期制作。目前,ProRes仅支持iPhone 13 Pro和iPhone 13 Pro Max或更新的机型,系统需求最低为iOS 15.1或更新版本。ProRes拥有多个高低规格不等的编码方式可选,从最高端无损编码ProRes RAW到用来作为代理文件的ProRes 422 proxy共计7款。同时ProRes还是一种对剪辑非常友好的中间编码格式,同样配置的电脑,ProRes在剪辑时能够更流畅的进行各种处理。需要注意的是,ProRes文件比HEVC文件大30倍,如果将这些文件存储在设备上,可能会比预期更快用尽储存空间。

虽然绝大部分的单反和微单无法拍摄此格式视频,但通过HDMI线连接Atomos外录设备,也可以得到这个格式的视频文件,正因如此,Atomos的外置录机才会如此受欢迎,但是也不是所有航拍器和Atomos外录设备都能支持ProRes格式的录制。

CinemaDNG——使用机型:悟系列航拍器、电影机及Atomos外录设备

CinemaDNG是Adobe为数字电影工作流程开发的一种数字视频文件格式,旨在保存未经处理的“RAW”视频。该格式是一个开放的编码格式,是由Adobe提出来的一种开放的RAW编码。如名字所示,CinemaDNG上是基于DNG的,DNG是单张的RAW图像,该格式支持多种开放文件格式,如DNG图像格式、MXF、XMP、EXIF和TIFF/EP等。简单的说,这就是一个RAW照片的序列,是目前在画质方面保留的最极致的一个格式。性价比超高的BMPCC 4K就支持这一高规格的格式。该格式是免费的,没有知识产权限制或许可要求,因此成为数字电影工作流程中的流行选择。

H.264/AVC——使用机型:目前绝大部分相机、摄像机、手机

毫无疑问,H.264编码是目前最主流的视频编码,大家平时看到的MP4,MKV,F4V,M4A,还有一部分MOV作为后缀的视频格式,编码大多数都是H.264,包括索尼相机中出现的XAVC S编码也是基于H.264推出的专有格式。

H.265/HEVC——使用机型:大疆御2、精灵4pro、富士X-T3、iPhone、GOPRO等

H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进,用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。比如富士的X-T3就依靠H.265编码做到了4K 60P 10bit的内录。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端自动化测试实践03—jest异步处理&mock
一般项目代码中会有不少异步 ajax 请求,例如测试下面 async.js 中的代码
CS逍遥剑仙
2019/10/31
5.4K0
使用 Jest 进行前端单元测试
目前 Jest 已经在 Facebook 开源的 React, React Native 等前端项目中被做为标配测试框架。下面简单介绍一些 Jest 比较有用的功能和用法。
QQ音乐技术团队
2018/01/31
5.9K0
使用 Jest 进行前端单元测试
那些年错过的React组件单元测试(上)
关于前端单元测试,其实两年前我就已经关注了,但那时候只是简单的知道断言,想着也不是太难的东西,项目中也没有用到,然后就想当然的认为自己就会了。
前端森林
2021/04/12
5.4K0
Jest + React Testing Library 单测总结
1、背景 以前还是学生的时候,有学习一门与测试相关的课程。那个时候,觉得测试就是写 test case,写断言,跑测试,以及查看 test case 的 coverage。整个流程和写法也不是特别难,所以就理所当然地觉得,写测试也不是特别难。 加上之前实际的工作中,也没有太多的写测试的经历,所以当自己需要对组件库补充单元测试的时候,发现并不能照葫芦画瓢来写单测。一时不知道该如何下手,也不知道如何编写有效的单测,人有点懵,于是就比较粗略地研究了一下前端组件单测。 1.1 单测的目的 在频繁的需求变动中可控地保
用户1097444
2022/06/29
4.9K0
Jest + React Testing Library 单测总结
编写接口请求库单元测试与 E2E 测试的思考
最近在写适配 Mx Space Server 的 JS SDK。因为想写一个正式一点的库,以后真正能派的上用场的,所以写的时候尽量严谨一点。所以单测和 E2E 也是非常重要。
Innei
2021/12/28
1.1K0
【架构师(第二十七篇)】前端单元测试框架 Jest 基础知识入门
如果使用的是 vscode 并且安装了 jest 插件,那么可以实时并且直观的看到测试是否通过
一尾流莺
2022/12/10
1.4K0
【架构师(第二十七篇)】前端单元测试框架 Jest 基础知识入门
用Jest来给React完成一次妙不可言的~单元测试
在2020的今天,构建一个 web 应用对于我们来说,并非什么难事。因为有很多足够多优秀的的前端框架(比如 React,Vue 和 Angular);以及一些易用且强大的UI库(比如 Ant Design)为我们保驾护航,极大地缩短了应用构建的周期。
用户1462769
2020/03/30
15.4K0
Vue 应用单元测试的策略与实践 02 - 单元测试基础
在上一篇文章当中我们介绍了单元测试的意义,以及为何选择 Facebook 的 Jest 作为我们的测试框架。现在就让我们一起来学习如何编写最基础的单元测试。
JimmyLv_吕靖
2019/09/10
2.4K0
Vue 应用单元测试的策略与实践 02 - 单元测试基础
web前端好帮手 - Jest单元测试工具
本文介绍如何使用Jest覆盖Web前端单元测试、如何统计测试覆盖率,Jest对比Mocha等内容。 Jest是什么? Jest是一个令人愉快的 JavaScript 测试框架,专注于简洁明快。 正如官方介绍所说,Jest是一款开箱即用的测试框架,其中包含了Expect断言接口、Mock接口、Snapshot快照、测试覆盖率统计等等全套测试功能。 为什么不推荐Mocha? 不支持原生并行测试 断言库要另外安装 测试覆盖率统计功能要另外安装 原生输入的测试报告可读性很差,格式化也要另外安装 不支持snap
QQ音乐技术团队
2020/06/15
5.3K0
React + Redux Testing Library 单元测试
谈任何东西都一定要有个上下文。你的论述不能是「因为单元测试有这些好处,所以我们要做单元测试」,而应该是「不做单元测试我们会遇到什么问题」,这样才能回答「为什么要写单元测试」的问题。那么我们谈论单元测试的上下文是什么呢?不做单元测试我们会遇到什么问题呢?上图为一个产品从 idea 分析、设计、开发、测试到交付并获取市场反馈的过程。
JimmyLv_吕靖
2021/03/03
2.5K0
React + Redux Testing Library 单元测试
Jest 单元测试快速上手指南
执行 yarn jest 或者 yarn jest test/plus.spec.js 运行测试用例
木子星兮
2020/08/25
3.6K0
Jest 单元测试快速上手指南
Jest单元测试之旅—实践总结
维基百科对于单元测试的定义:是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。
gary12138
2022/10/05
10.8K0
Jest单元测试之旅—实践总结
Jest基本使用方法以及mock技巧介绍
Jest是由Facebook开发并维护的一套js的单元测试框架,之前在后台的nodejs项目里面第一次尝试使用,感觉还是非常容易上手的,功能也比较强大。
腾讯移动品质中心TMQ
2018/06/26
8.8K0
前端接入单元测试(Node+React)
假如要重构一个老前端框架,并根据其开发一个向后兼容的新框架。此时老框架针对其内部API函数,写了充分的单侧用例。在开发新框架时,直接运行老前端框架的单侧用例,如果所有测试用例都通过,则可快速保证内部api的一致性,快速验证所有功能。
kiki.
2022/09/29
3.6K0
前端接入单元测试(Node+React)
React单元测试:Jest + Enzyme(二)
在上一篇教程中,我们成功搭建了基于Jest和Enzyme的单元测试框架并成功地跑起来第一个单元测试,可以点击这里回顾一下。今天,我们重点讨论如何通过Jest来mock数据。
Dickensl
2022/06/14
1.6K0
React单元测试:Jest + Enzyme(二)
单元测试
测试的目的是为了带给我们带来强大的代码信心,如果把测试初衷忘掉,会很容易掉入测试代码细节的陷阱。一旦关注点不是代码的信心,而是测试代码细节,那么测试用例会变得非常脆弱,难以维护。
用户4619307
2024/01/12
8030
使用jest进行单元测试
不扯犊子直接说吧,第一点,用数据、用茫茫多的测试用例去告诉使用者,你的程序是多么鲁棒健壮;第二点,把它作为一种素养去培养吧,当你按照一系列规范去做事,那么你做出来的东西,我想是有品质在的。
江涛学编程
2020/08/25
3.9K0
使用jest进行单元测试
测试中如何处理 Http 请求?
不知道大家平时写单测时是怎么处理 网络请求 的,可能有的人会说:“把请求函数 Mock ,返回 Mock 结果就行了呀”。
写代码的海怪
2022/08/31
1.4K0
前端单元测试之Jest
关于前端单元测试的好处自不必说,基础的介绍和知识可以参考之前的博客链接:React Native单元测试。在软件的测试领域,测试主要分为:单元测试、集成测试和功能测试。
xiangzhihong
2022/11/30
3K0
一杯茶的时间,上手 Jest 测试框架
现在让我们正式开始,茶和图雀社区精心准备的甜品更搭哦。 在项目根目录下新建src目录,存放我们的功能代码。然后创建src/dessert.js。
一只图雀
2020/04/13
2K0
推荐阅读
相关推荐
前端自动化测试实践03—jest异步处理&mock
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档