【数据压缩3】AVI文件格式分析及问题回答+WAV文件格式分析

2023-11-13

AVI文件问题回答

1.AVI文件音频和视频的数据是如何放置的,交织放置还是连续放置?

(1)定义:AVI英文全称为Audio Video Interleaved,即音频视频交错格式,是微软公司于1992年11月推出、作为其Windows视频软件一部分的一种多媒体容器格式。 AVI文件将音频(语音)和视频(影像)数据包含在一个文件容器中,允许音视频同步回放。 类似DVD视频格式,AVI文件支持多个音视频流。
由定义可知为交织放置

(2)AVI文件格式:

音频数据块(30 31 77 62),即“01wb”在这里插入图片描述
视频数据块(30 30 64 63),即“00dc”
在这里插入图片描述
由文件格式分析可知为交织放置

2.AVI文件一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节?

大多数音频数据块的大小都是00 00 01 A2,即418个字节
视频数据块的大小各不相同

WAV文件格式分析

文件概述

WAV(Waveform Audio File Format),它采用RIFF(Resource Interchange File Format)文件格式结构。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。但是严格意义上来讲,WAV也可以存储其它压缩格式的音频数据。

文件格式

WAV文件属于RIFF结构形式,遵循RIFF规则,其内容以区块(chunk)为最小单位进行存储。一个WAV文件通常有三个chunk以及一个可选chunk组成,其在文件中的排列方式依次是:RIFF chunk(RIFF数据块),Format chunk(描述文件信息),Fact chunk(附加块,可选),Data chunk(表示真正的音频数据)。

RIFF区块

名称 偏移地址 字节数 端序 具体内容
ID信息 0x00 4 大端 “RIFF”(0x52494646)
Size(文件数据长度) 0x04 4 小端 fileSize - 8
Type(文件类型) 0x08 4 大端 “WAVE”(0x57415645)

在这里插入图片描述
52 49 46 46-----RIFF块标识,表示该文档是一个有效的RIFF文档
在这里插入图片描述
在这里插入图片描述

CE 2D 26 00-----表示文件的数据长度,其数值为“00 26 2D CE”,转换为十进制为2502094。由文件属性可以看到文件大小为2502102字节,证明文件的数据长度为文件长度-8,即2502094=2502102-8
在这里插入图片描述
57 41 56 45-----RIFF的块数据,其中前4个字节为文件格式类型标识,说明此文件是WAV文件,其它部分为RIFF块的子块。

FORMAT区块

名称 字节数 说明
格式块标识 4字节 小写字符串“fmt ”
格式块长度 4字节 格式块长度取决于编码形式(参见编码形式表)
编码格式代码 2字节 常见的 WAV 文件使用 PCM 脉冲编码调制格式,该数值通常为 1。(参见编码形式表)
声道个数 2字节 单声道为 1,立体声或双声道为 2
采样频率 4字节 每个声道单位时间采样次数。常用的采样频率有 11025, 22050 和 44100 Hz。
数据传输速率 4字节 声道数×采样频率×每样本的数据位数/8。播放软件利用此值可以估计缓冲区的大小。
数据块对其单位 2字节 采样帧大小。该数值为:声道数×位数/8。播放软件需要一次处理多个该值大小的字节数据,用该数值调整缓冲区。
采样位数 2字节 存储每个采样值所用的二进制数位数。常见的位数有 4、8、12、16、24、32

编码形式表

格式代码 格式名称
1(0x0001) PCM/非压缩格式
2(0x0002) Microsoft ADPCM
3(0x0003) IEEE float
6(0x0006) ITU G.711 a-law
7(0x0007) ITU G.711 μ-law
49(0x0031) GSM 6.10
64(0x0040) ITU G.721 ADPCM
65,534(0xFFFE)

在这里插入图片描述

66 6D 74 20--------ID标识(fmt)
12 00 00 00---------数据长度
03 00-----查编码格式表可知,为IEEE float编码
02 00-----双声道
80 BB 00 00--------音频采样率,小端存储,采样率为48000
00 DC 05 00--------每秒字节数,小端存储,“00 05 DC 00”化为十进制为384000bps
08 00-----------------采样帧大小,即每个采样所需的字节数,等于声道数×采样位数 / 8,即2×32/8=8B
20 00-----------------每个采样存储比特数,小端存储,32bit
00 00-----------------表示附加信息

Data区块

名称 字节数 说明
格式块标识 4字节 表示这是一个data块
格式块长度 4字节 表明数据块的长度
数据 N字节 表示音频数据

在这里插入图片描述
64 61 74 61-----ID标识(data)
00 F8 25 00-----数据长度,小端存储,“00 25 F8 00”化为十进制为2488320字节,文件播放时间为音频数据字节数/数据传输速率=2488320/384000=6.48s,约为6秒
在这里插入图片描述
由文件属性可知,音频时长实际确实为6秒

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数据压缩3】AVI文件格式分析及问题回答+WAV文件格式分析 的相关文章

  • 哔哩哔哩 API

    常用查看技巧 UP主所有视频 https www bilibili com medialist play 这里写uid from space 最新投稿的视频 https www bilibili com newlist html API 参
  • vlc-android配置实录

    听说vlc底层也用的ffmpeg 免费开源的 业界做的不错的 就来看看 从网上找了很多例子 也从github上找了好多demo 好多都不全 或者下载下来编译失败 官网上下载的vlc android就编译失败 下面列两个可以用的 一 有vlc
  • 【H.264/AVC视频编解码技术详解】十三、熵编码算法(3):CAVLC原理

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • WVP-PRO+ZLMediaKit搭建GB28181视频平台(linux详细教学)

    文章目录 一 安装WVP PRO 1 源码下载 链接内任选其一 https doc wvp pro cn 2 修改配置 仔细查看每行都有说明注释 3 编译前端页面 4 打包为jar 上传到服务器 二 安装ZLMediaKit 1 前置环境安
  • 各音视频格式文件下载地址清单分享

    https samples mplayerhq hu allsamples txt https samples mplayerhq hu A codecs AC3 Broadway 5 1 48khz 448kbit ac3 00 READ
  • GStreamer 组件笔记

    目录 下载地址 测试命令 GStreamer总览 基本流程 常用元件 下载地址 首先你需要从Index of data pkg windows下载库 您需要为开发人员和非开发人员下载并安装安装程序 例如对于 1 20 它是现在的最新版本 g
  • AndroidFFmpeg

    https github com appunite AndroidFFmpeg git 本地路径 这个比较全 四种播放方式都有 问题流媒体播放无控制 太快太慢都报错 lbg android ffmpeg AndroidFFmpeg http
  • 【H.264/AVC视频编解码技术详解】二十、H.264的去块滤波算法

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • pywt 安装学习

    安装 conda install c conda forge pywavelets github地址 里面有demo https github com PyWavelets pywt 这个是学习笔记 https blog csdn net
  • C++ gstreamer函数使用总结

    目录 1 GSteamer的基本API的使用 这个播放mp4报错 这个创建play bin 返回0 不能运行 这个值得看 2 创建元件并且链接起来 3 添加衬垫 添加回调 手动链接衬垫 4 打印gstreamer的版本信息 5 gstrea
  • 不使用采集卡,实现相机手机多机位直播

    背景 因为直播需求 现在想实现使用一台相机和一台手机完成直播的两个机位设定 搜了很多视频都是要购买采集卡 违背了性价比这一原则 搜索半天之后 根据当前的设备完成了任务 硬件材料 苹果手机一部 佳能单反 所需软件 1 OBS 主要是用来集成各
  • 几种前端h264播放器记录

    近期做了点工作记录一下 主要是将H264流在html5上进行播放 众所周知 大多数的 video组件都是支持FLV或者MP4以及m3u8格式的 而如果是WebRTC是直接集成好了 本次要求的环境主要是通过Websocket方式进行流传输 不
  • ARGB色彩空间模型:ARGB_8888、ARGB_4444、RGB_565、ALPHA_8、ARGB1555

    ARGB是一种色彩空间模式 由RGB色彩空间和Alpha通道组成 RGB即红 Red 绿 Green 蓝 Blue Alpha为透明度参数 数值为0 完全透明 无法被看见 数值为100 表示像素完全不透明 ARGB后跟的数字一般为字面意思
  • Nvidia Jetson 编解码开发(6)Jetpack 4.x版本Multimedia API 硬件编码开发--输入端对接Camera V4L2采集

    1 前言 Nvidia Jetson 编解码开发 2 Jetpack 4 x版本Multimedia API 硬件编码开发 集成encode模块 free xx的博客 CSDN博客 基于上篇继续开发 由于上篇只集成了encode模块 但是编
  • 压缩伪影的探讨

    1 压缩伪影的由来 常用的视频编码器中 在一个框架中使用了多种编码方法 01 预测编码 不编码预测值 而是编码预测值与实际值的差值 02 变换编码 对信号的样本值进行某种形式的函数变换 从一种空间变换到另一种空间 然后再根据信号在另一个空间
  • Nvidia Jetson 编解码开发(7)Jetpack 4.x版本Multimedia API 硬件编码开发--输出端对接ROS publish

    1 前言 Nvidia Jetson 编解码开发 6 Jetpack 4 x版本Multimedia API 硬件编码开发 输入端对接Camera V4L2采集 free xx的博客 CSDN博客 基于上篇基于开发 需求 1 2路Camer
  • Windows下VVC参考软件VTM10.0编译和运行

    1 预备工作 VTM软件下载 链接https vcgit hhi fraunhofer de jvet VVCSoftware VTM tree masterhttps vcgit hhi fraunhofer de jvet VVCSof
  • 流媒体服务器 客户端播放器方案推荐

    https github com jacke121 stream rtsp 使用说明 貌似把rtsp转为webrtc 但是没有把图片编码为webrtc Example config json server httpPort 8000 htt
  • 2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)

    芜湖 芜湖 没想到不知不觉今年这一届就算结束了 真可谓真是八仙过海各显神通呀 本文章我们只讨论题 别的不讨论 题目还是很不错 我只是题目的搬运工 进入正题 以下是本人的一些解题思路和过程 供各位道友参考 对了不要喷呀 如有错误或者心得请联系
  • linux安装ffmpeg

    1 下载解压 wget http www ffmpeg org releases ffmpeg 3 1 tar gz tar zxvf ffmpeg 3 1 tar gz 2 进入解压后目录 输入如下命令 usr local ffmpeg为

随机推荐

  • SQLServer帐号管理

    1 用户的创建 如图所示 右击 登录名 选中新建登录名 2 如何创建数据库用户 在数据库的下面 创建用户名 同时通过 浏览 按钮 关联想要授权的登录账号 3 给用户分配权限 注意 此处是给需要分配权限的数据库中的用户 进行安全对象的管理 例
  • 联想笔记本Ideapad300S-14ISK安装固态硬盘和win10

    1 拆机 把背面的螺丝钉拧开 拿个卡找个缝插进去转一圈就打开了 2 内存 先把电源排线拔掉 排线旁边有标识 和 内存条外面盖着一个金属壳 把四周的小固定扣压下去就能打开 内存条型号DDR3L 买了个DDR4才发现插不进去 3 固态硬盘 把机
  • visio使用技巧

    出处 blog作者 卡纳瓦罗 里面的东西主要是看了吕贤聪的 visio2003视频教程 后总结的一些技巧 还有平时应用visio时的一些心得 1 鼠标按住尺规的边缘往外拉 会拉出一条绘图辅助线 帮助绘图 精确定位 按del键就会消失 而且选
  • 多线程与同步代码块详解

    线程是程序执行的一条路径 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率 可以同时完成多项工作 多线程并发执行的实质就是CPU在做着高速的切换 多线程的应用场景 红蜘蛛同时共享屏幕给多个电脑 迅雷开启多条线程一起下载 QQ同时
  • 微芯I/O控制器瞄准工业与嵌入式运算应用

    微芯科技 Microchip Technology 日前发布SCH322X系列I O控制器新品 该系列产品基于工业及嵌入式开发工程师的需求而开发 功能丰富且具高灵活性 新一代I O控制器系列拥有尺寸更小的包装和更长的产品生命周期 可运用于更
  • caj转pdf

    https caj2pdf cn
  • 关于不同浏览器的内核与引擎--记录一下

    https www cnblogs com gdutbean archive 2012 02 21 2362003 html https www cnblogs com guanghe p 11719334 html js引擎介绍 几种JS
  • Docker: 改变容器化世界的革命性技术

    目录 1 1什么是虚拟化 1 2什么是Docker 1 3容器与虚拟机的比较 1 4Docker组建 2 Docker安装 2 2设置ustc的镜像 2 3Docker的启动与停止 3 docker常用命令 3 1镜像 3 2容器相关命令
  • Dockerfile参数详解

    FROM 功能为指定基础镜像 并且必须是第一条指令 如果不以任何镜像为基础 那么写法为 FROM scratch 同时意味着接下来所写的指令将作为镜像的第一层开始 语法 FROM
  • discuz 手机版伪静态

    前两天发布的这篇文章发现内容与实际情况不太相符特来更改 请多多包涵 网上有些现成的插件 价格却并不亲民 一个简简单单的伪静态插件居然标价三百 我也是醉了 我就在想 伪静态翻来覆去不就那么点东西吗 你能做我就做不了啦 在此帮各位仍有相同需求的
  • BP神经网络基本介绍

    1 主要解决的是什么问题 预测类 聚类分析 2 原理 思路是啥 什么是人工神经网络 ANN 模拟大脑对信号处理的一种算法 基本原理介绍 权关系是具体不清楚他们之间的关系 并未给出准确的对应关系 只是假设他们之间的关系可以用一组权来表示 阈值
  • 企业DevOps:实施过程中需要关注的各项要点

    作者 亚马逊云科技企业市场战略总监 Stephen Orban 经验并非凭空创造 而是依靠点滴积累所实现 阿尔贝 加缪 在此次的企业DevOps探索之旅系列文章当中 我将带大家一同探讨企业在具备一定DevOps经验之后又该如何处理下一步可能
  • BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue原理分析

    阻塞队列与非阻塞队 阻塞队列与普通队列的区别在于 当队列是空的时 从队列中获取元素的操作将会被阻塞 或者当队列是满时 往队列里添加元素的操作会被阻塞 试图从空的阻塞队列中获取元素的线程将会被阻塞 直到其他的线程往空的队列插入新的元素 同样
  • MySQL数据库定时备份脚本

    bin bash 定义备份用户 密码 DbUser root DbPasswd NTQ12377 定义备份数据库 DbName zabbix jumpserver openfire n9e n9e v5 ibex 定义备份目录 Path d
  • 手把手带你编写微信公众号

    这是一个简单的项目 简单编写微信公众号 扫码关注 关注 即可提高学习效率 Peace 实时查询城市天气 回复 美女视频网站 观看美女视频 不定时推送小姐姐视频和图片合集 Docker线上部署SpringBoot 如果您不知道如何开始编写的话
  • ajax中设置contentType: “application/json”的作用

    最近在做项目交互的时候 刚开始向后台传递数据返回415 后来百度添加了 contentType application json 之后返回400 然后把传输的数据格式改为json字符串就传输成功了 现在我们来看看 contentType a
  • Keras-训练网络时的问题:loss一直为nan,accuracy一直为一个固定的数

    目录 问题描述 问题的解决 调整学习率后解决问题 其他可能导致此问题的原因 1 2 3 4 关于如何选择学习率 问题描述 在使用VGG19做分类任务时 遇到一个问题 loss一直为nan accuracy一直为一个固定的数 如下输出所示 即
  • ESP32-C3入门教程 网络 篇(三、 MQTT 协议基础介绍及测试)

    在前面 我们已经学会了 ESP32 C3 的WiFi 配置以及使用 为我们学习网络协议建立了基础 这篇文章我们就来学习测试一下ESP32 C3 的 MQTT 驱动 目录 前言 1 基础介绍 1 1 MQTT协议基本概念 1 2 ESP MQ
  • c#实现循环输入商品编号和购买数量,结账时应付金额并找零

    循环输入商品编号和购买数量 系统自动计算每种商品的价钱 单价X数量 并累加总金额 当输入n时结账 假设享受8折优惠 结账时 根据折扣计算应付金额 输入实付金额 并找零 下面展示一些 内联代码片 使用c 实现 代码如下 An highligh
  • 【数据压缩3】AVI文件格式分析及问题回答+WAV文件格式分析

    目录 AVI文件问题回答 1 AVI文件音频和视频的数据是如何放置的 交织放置还是连续放置 2 AVI文件一个视频帧大约占据多少字节 一个音频数据块大约占用多少字节 WAV文件格式分析 文件概述 文件格式 RIFF区块 FORMAT区块 D