如何检测 FLAC 文件是否损坏

Flac文件是一种无损音频压缩格式,是Free Lossless Audio Codec的缩写,其特点是无损压缩。不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频资讯,所以可以还原音乐光盘音质。那怎么知道 FLAC 文件是否有损坏,以及如何修复?

目录

第 1 部分: FLAC 文件损坏的原因

FLAC中文可解释为无损音频压缩编码。FLAC是一套著名的自由音频压缩编码,其特点是无损压缩。不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频信息,所以可以还原音乐光盘音质。2012年以来它已被很多软件及硬件音频产品(如CD等)所支持。有多种原因会导致FLAC 文件的损坏:

文件完全损坏

病毒攻击和恶意软件可能是FLAC 文件中出现此类问题的原因。除此之外,如果文件进行意外转换或压缩,它也可能被损坏。

整个文件结构的损坏

如果在不同平台打开 FLAC 文件时遇到问题,则文件的内部组件很可能已严重损坏。可能还会在计算机上收到错误消息“FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH”,它包含了很多有关 FLAC 音频文件结构损坏的信息。

缺少音频编解码器

如果计算机上的音频编解码器存在一些问题,则 FLAC 音频文件将无法运行。如果收到错误消息“FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC”,这表明该软件由于某种原因无法运行 FLAC 文件,例如缺少音频代码。

标题问题

另一个损坏的 FLAC 文件的原因是其错误的标题。如果FLAC 文件无法正常运行,可能是其标题被强制更改或损坏,会在计算机上收到到此错误消息“FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER”。

第 2 部分:在 Windows 上检查 FLAC 文件

在运行 FLAC 文件时,可能会遇到一些错误和问题。在这一部分中,我们将介绍两种有效且独特的方法,它们可以清晰的检查 FLAC 文件的状态。

1.使用“FLAC前端”软件

第一种可用于在 Windows 上检查 FLAC 文件状态的方法是通过专用工具“ FLAC Frontend ”。它可以通过 WAVE、W64 和 RAW 文件进行编码,提供 FLAC 或 OGG-FLAC 文件作为输出。通过该程序可以实现多种功能,包括解码 FLAC 文件、在整个程序中对其进行测试、对它们进行指纹识别以及轻松地对其重新编码。

第 1 步:从官方 FLAC 下载程序。

成功安装软件后启动应用程序。

下载并安装 flac 前端

第 2 步:打开应用程序时,单击“添加文件”按钮添加需要检查损坏的 FLAC 文件。

添加文件时,单击“测试错误”按钮以启动该过程。

添加flac文件并开始测试

第 3 步:将打开一个命令行界面并显示完整的信息列表。

文件会在它们旁边显示“OK”消息,错误和相关数据将在界面中详细显示损坏的 FLAC 文件。

在命令行上显示结果

2.使用命令行程序

如果对管理命令行程序有深入的了解,可以使用这种方法来检查 FLAC 文件。尽管该技术执行起来非常具有挑战性,但它确实可以完美检查 FLAC 文件中可能存在的问题。

此命令行文件编码器当前支持 RIFF WAVE、Wave64、RF64、AIFF、FLAC 或 OGG-FLAC 格式作为输入,并在整个解码器中输出 RIFF WAVE、Wave64、RF64、AIFF 或 RAW 交错样本。

考虑到命令行程序正在访问的功能,可以通过四种方式调用 flac,如下所述:

  • 编码:flac [] [] [] [输入文件 [...]]
  • 解码:flac -d [] [] [] [FLAC 文件 [...]]
  • 测试:flac -t [] [FLAC 文件 [...]]
  • 分析:flac -a [] [] [FLAC 文件 [...]]

如果 flac 在测试模式下运行,可以找到在解码模式下运行的 flac,但是不会与输出文件一起返回。跨flac的解码和测试模式用于检测跨流的错误,当解码音频的 MD5 签名与存储签名不匹配时,即使比特流没有问题,它们也会检测到错误。

还可以使用 flac 重新编码 FLAC 文件。当在编码器中指定 FLAC 文件或 OGG-FLAC 文件作为输入时,如果没有被其他选项覆盖,它会保存所有元数据。该程序已经过调整,可以为所提供的输入提供更好的速度。

通过命令行程序检查 FLAC 文件

我们现在将帮助用户如何通过命令行程序检查 FLAC 文件是否损坏:

对于单个文件

使用以下命令行测试单个 FLAC 文件:

flac -wst flac_filename.flac

要理解命令行:

  • -w 表示将所有警告视为错误的 warnings-as-error 命令。
  • -s 被称为静默,在命令行中不显示编码和解码统计信息。
  • -t 为测试,这里认为退出代码与命令行的解码模式相同。

此过程仅适用于单个 FLAC 文件,要同时检查多个 FLAC 文件的可用性,可以使用下一组命令脚本。

对于 FLAC 文件的集合

#!/bin/bash
cd ~/Music
if [[ -f flac-errors.txt ]]; then
rm flac-errors.txt;
fi
touch flac-errors.txt
shopt -s globstar
for file in ./**/*.flac; do
flac -wst "$file" 2>/dev/null || printf '%3d %s\n' "$?" "$file" >> flac-errors.txt;
done

在命令行中使用了此脚本,它将按以下时间顺序运行。

  • 这些命令用于将脚本重定向到 Music 文件夹,其中创建了一个名为“flac-errors.txt”的文件。当程序在循环中运行时,该文件将连续删除并重新创建自己。
  • “shopt -s globstar”命令指向在测试期间执行递归操作的 Bash 脚本。它确保文件系统当前位置内的所有文件和目录都经过测试和处理,进程中不留下任何文件。
  • 命令行中的“for”循环遍历完整的 Music 文件夹和子文件夹,用于检查其中的 FLAC 文件。如果文件正常,则通过删除输出的 /dev/null 发送输出命令。但如果 FLAC 文件有问题,则会在 flac-errors.txt 文件中显示错误。
  • 当文件通过命令在每个新条目中重新创建时,最好打开 flac-errors.txt 文件以通过另一个控制台读取它。这可以帮助了解文件夹中所有 FLAC 文件的状态。
    tail -f /home/User_Name/Folder_Name/flac-errors.txt

这就是如何在 flac 命令行程序中测试多个 FLAC 文件的方法。

第 3 部分:如何修复 Windows/Mac 上的 FLAC 文件?

既然已经了解如何检查 FLAC 文件是否损坏的方法,现在是时候详细了解如何修复文件了。万兴易修是修复损坏的音频文件的最佳工具。不仅支持多种文件格式的修复,而且具有很高的成功率,能够在所有可能导致文件损坏的典型场景中恢复音频质量。以下是万兴易修的主要功能:

  • 支持修复各种级别的损坏音频,例如剪辑音频、嗡嗡声、隆隆声、嘶嘶声、不同步音频等。

  • 支持修复多种格式的音频,包括AAC、MP3、M4A、FLAC、WAV等。

  • 修复来自多个设备的损坏或损坏的音频:便携式录音机、录音软件、拍摄设备、SD卡、手机、USB闪存驱动器等。

  • 兼容Windows PC、Mac OS,支持PC到手机传输/分享。

使用万兴易修修复 FLAC 文件的步骤:

第 1 步:启动软件并选择音频修复。

在桌面上启动万兴易修并继续到“音频修复”选项卡,接下来单击“+添加”按钮以导入损坏的 FLAC 文件或文件。

添加损坏的flac文件

第 2 步:开始修复损坏的文件。

添加损坏的文件时,单击“修复”以打开一个新的弹出窗口。接下来,需要提供一个支持参考文件,以帮助 自动修复损坏的 FLAC 文件。添加参考音频后,单击“开始高级修复”以启动修复。

添加示例 FLAC 音频文件

第 3 步:预览以检查并保存。

在下一个窗口中找到修复的音频。单击“预览”以检查文件是否已修复。如果对结果满意,请单击“保存”以导出修复后的 FLAC 文件。

保存修复的flac文件

这篇文章主要帮助用户了解如何检查 FLAC 文件是否有损坏,使用以上的提供的方法可以轻松检查所有 FLAC 文件并确定它们是否已损坏。如果文件已损坏,则可以下载万兴易修以轻松修复所有损坏的 FLAC 文件。

小恢呀
小恢呀 Aug 22, 23
分享到: