首页  >  文章  >  flac是什么编码格式

flac是什么编码格式

青灯夜游
青灯夜游原创
2023-02-21 16:46:132947浏览

FLAC是一种无损音频压缩编码,是一种数字音乐文件格式;不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频信息,所以可以还原音乐光盘音质 。FLAC是无损压缩,也就是说音频以FLAC编码压缩后不会丢失任何信息,将FLAC文件还原为WAV文件后,与压缩前的WAV文件内容相同。

flac是什么编码格式

本教程操作环境:windows7系统、Dell G3电脑。

flac是目前流行的数字音乐文件格式之一。

FLAC(Free Lossless Audio Codec),中文可解释为无损音频压缩编码。

FLAC是一套著名的自由音频压缩编码,其特点是无损压缩。不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频信息,所以可以还原音乐光盘音质 。

1.png

FLAC是免费的并且支持大多数的操作系统,包括Windows,基于Unix Like内核(Linux,BSD,Solaris,IRIX,AIX等)而开发的系统,BeOS,OS/2,Amiga。并且FLAC提供了在开发工具autotools,MSVC,Watcom C,Project Builder上的build系统。

特性

  • 无损失压缩:被编码的音频(PCM)数据没有任何信息损失,解码输出的音频与编码器的输入的每一个字节都是一样的。每个数据帧都有一个当前帧的 16-bit CRC校验码,用于监测数据传输错误。对整段音频数据,在文件头中还保存有一个针对原始未压缩音频数据的MD5标记,用于在解码和测试时对数据进行校验。 电脑在播放WAV文件时,是把WAV文件中的PCM数据直接发送给声卡,而电脑在播放FLAC时,需要先把FLAC解码为PCM数据,然后在发送给声卡。就是多了一个解码的环节,就像是给RAR文档解压一样。其PCM数据是与压缩前的WAV没有区别的。

  • 快速:FLAC更看重解码的速度。解码只需要整数运算,并且相对于大多数编码方式而言,对计算速度要求很低。在很普通的硬件上就可以轻松实现实时解码。

  • 硬件支持:由于FLAC提供了免费的解码范例,而且解码的复杂程度低,直至2012年以来FLAC是唯一获得广泛且良好的硬件支持的无损压缩编码。

  • 可以用于流媒体:FLAC的每个数据帧都包含了解码所需的全部信息。解码当前帧无需参照它前面或后面的数据帧。FLAC使用了同步代码和CRC(类似于MPEG等编码格式),这样解码器在数据流中跳跃定位时可以有最小的时间延迟。

  • 可以定位:FLAC支持快速采样精确定位。这不仅对于播放有益,更使得FLAC文件便于编辑。

  • 富于弹性的metadata:可以定义和实现新类型的metadata数据块,而不会影响旧的数据流和解码器的使用。已有的metadata类型包括tag,cue表,和定位表。 已经注册的应用程序可以定义自己专用的metadata类型(译注:这一点与MIDI标准相似)。

  • 非常适合于存档应用:FLAC是一个开放的编码格式,并且没有任何数据的损失,你可以将它转换为你需要的任何其他格式。除了每个数据帧的CRC和MD5标记对数据完整性的保障,flac(译注:FLAC项目提供的命令行方式编码工具)还提供了一个verify(校验)选项,当使用该选项进行编码的时候,编码的同时就会立即对已编码数据进行解码并与原始输入数据进行比较,一旦发现不同就会退出并且报警提示。

  • 便于对CD进行备份:FLAC有一个“CUE表”metadata数据块用于保存CD的内容列表和所有音轨的索引点。你可以将一张CD保存到一个单一文件,并导入CD的cue表格,这样一个FLAC文件就可以完整地记录整张CD的全部信息,也就是说,可以把平时单独存放的CUE文件嵌入到FLAC文件里。当你的原来的CD损坏的时候,你就可以用这个文件恢复出与原来一模一样的CD副本。

  • 抗损伤:由于FLAC的帧结构,使得一旦发生数据流的损坏,损失会被限制在受损伤的数据帧之内。一般只是会丢失很短的一个片段。而很多其他无损音频压缩格式在遇到损伤的时候,一个损伤就会造成后面所有数据的丢失。

2.jpg

扩展知识:解析区别

FLAC与MP3不同。MP3是有损音频压缩编码,但FLAC是无损压缩,也就是说音频以FLAC编码压缩后不会丢失任何信息,将FLAC文件还原为WAV文件后,与压缩前的WAV文件内容相同。

这种压缩与ZIP的方式类似,但FLAC的压缩率大于ZIP和RAR,因为FLAC是专门针对PCM音频的特点设计的压缩方式。

而且可以使用播放器直接播放FLAC压缩的文件,就像通常播放MP3文件一样(已经有许多汽车播放器和家用音响设备支持FLAC,在FLAC的网站上你可以找到这些设备厂家的链接)。

更多相关知识,请访问常见问题栏目!

以上是flac是什么编码格式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn