【问题标题】:What codec it is它是什么编解码器
【发布时间】:2013-02-21 07:10:24
【问题描述】:

我有一个大小为 728 的压缩文件,不知何故我知道这是一个音频文件,它持续 1040 毫秒

压缩文件结构很简单:

由14字节块组成,每个块以0x0C开头:

0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx

(xx) 可以是任何十六进制数

您可以在这里下载压缩的二进制文件:

http://dusijun.files.wordpress.com/2013/02/29-aud-bin.doc(请重命名为 *.aud )

或文档格式的文本视图

http://dusijun.files.wordpress.com/2013/02/29-aud.doc

没有标题或元信息。块的数量取决于实际音频的长度。 文件大小的音频持续时间约为 1.42

例如

如果文件大小 = 9506,那么音频可以持续 9506*1.42 = 13580 毫秒,大约 13 秒

有人知道它可能是什么编解码器吗?

PS:

二进制文件为微信(ios)音频文件。

参考

1)如何提取/播放 .aud 文件?

http://www.boards.ie/vbulletin/showthread.php?t=2055891600

2) 微信ios

https://itunes.apple.com/us/app/wechat/id414478124?mt=8

【问题讨论】:

  • 我猜它是原始的 PCM 格式,你试过把它通过 FFMPEG 吗?
  • 不错的尝试,虽然原始 PCM 不会有这样的帧结构,尤其是每个帧都有一个前导字符 0X0c 。如果它是原始 PCM,那么在一秒钟内,文件大小(采样率 (bits per sample/8) 1 s )将至少为数千字节,而不是给定示例中的 728 字节.
  • 我没有标记您的问题,但我认为它不太适合堆栈溢出。我建议阅读常见问题解答。
  • 728*8/1.04 = 5600 位/秒 = 700 字节每秒。没有分数,这确实暗示了某种未压缩的格式。另一方面,任何低于约 32 kbps(=32000 位/秒)的未压缩格式听起来都比普通的旧电话线更糟糕……不知道该怎么做。它实际上可能是另一个具有实际数据的文件的偏移量? (只是猜测)

标签: ios file audio codec


【解决方案1】:

我怀疑它是一个语音编解码器。例如RFC6716OPUS。 此编解码器的比特率为NB 语音为 8-12 kbit/s0x0c 适合 SILK 20ms 帧大小的配置。

| 0...3 |仅限丝绸 |注意 | 10、20、40、60 毫秒 |

20ms 的帧大小大约有 14 个字节。我尝试将示例保存为 29-aud-bin.opus 并在 Firefox 中打开它,但它缺少其他 opus 文件所具有的标头。 Skype 还使用了SILK 编解码器的一个版本。

【讨论】:

  • +1 展示了一些体育精神,我认为您至少需要 2 票赞成才有资格获得赏金。 @DuSijun 可以确认...祝你好运!
【解决方案2】:

它是什么编解码器?不知怎的,我知道这是一个音频文件。二进制文件为微信(ios)音频文件。

为可下载的示例文件添加 AUD 扩展名没有意义。

您最有可能在程序文件夹中找到 AUD 文件 韦斯特伍德电子游戏。具有 AUD 文件扩展名的文件是视频游戏压缩音频 文件。


How do I find a codec?

如果您知道编解码器的名称或其 ID(称为 FourCC 标识符,用于视频编解码器或 WaveFormat 标识符用于音频编解码器),请尝试搜索 Internet。您通常可以访问编解码器制造商的网站下载最新版本的编解码器。

由于您的文件没有标题或元信息(文件魔术),您只能依赖文件扩展名,例如:

http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/AU/AU.html

如果我得到一个带有 .EXE 扩展名的文件并且 *不知何故我知道这确实是一个音频文件`,我可以使用 Winista 检查文件魔法。

public MimeType GetMimeTypeFromFile(string filePath)
{
    sbyte[] fileData = null;
    using (FileStream srcFile = new FileStream(filePath, FileMode.Open, FileAccess.Read))
    {
        byte[] data = new byte[srcFile.Length];
        srcFile.Read(data, 0, (Int32)srcFile.Length);
        fileData = Winista.Mime.SupportUtil.ToSByteArray(data);
    }

    MimeType oMimeType = GetMimeType(fileData);
    if (oMimeType != null) return oMimeType;

    //We haven't found the file using Magic (eg a text/plain file)
    //so instead use URLMon to try and get the files format
    Winista.MimeDetect.URLMONMimeDetect.urlmonMimeDetect urlmonMimeDetect = new Winista.MimeDetect.URLMONMimeDetect.urlmonMimeDetect();
    string urlmonMimeType = urlmonMimeDetect.GetMimeFromFile(filePath);
    if (!string.IsNullOrEmpty(urlmonMimeType))
    {
        foreach (MimeType mimeType in types)
        {
            if (mimeType.Name == urlmonMimeType)
            {
                return mimeType;
            }
        }
    }

    return oMimeType;
}

注意可以在msdn - Detect file type 上找到使用 URLMon 查找 MIME 类型的代码

上述方法将打开文件并检测其真正的 MIME 类型以知道使用哪个程序打开它。它使用 XML 格式的视频/音频 MIME 类型映射文件进行匹配:

<!--
 !   Audio primary type
 ! -->

<mime-type name="audio/basic"
           description="uLaw/AU Audio File">
    <ext>au</ext><ext>snd</ext>
    <magic offset="0" type="byte" value="2e736e64000000"/>
</mime-type>

<mime-type name="audio/midi"
           description="Musical Instrument Digital Interface MIDI-sequention Sound">
    <ext>mid</ext><ext>midi</ext><ext>kar</ext>
    <magic offset="0" value="MThd"/>
</mime-type>

<mime-type name="audio/mpeg"
           description="MPEG Audio Stream, Layer III">
    <ext>mp3</ext><ext>mp2</ext><ext>mpga</ext>
    <magic offset="0" value="ID3"/>
</mime-type>

我尝试了 winamp 和 Windows Media Classic,但都无法打开文件。

由于您不知道文件的 MIME 类型和文件扩展名 AUD 显然是错误的,我认为无法检测播放此文件所需的编解码器/程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 2017-09-29
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多