【问题标题】:What is the file format/encoding of this binary data stream这个二进制数据流的文件格式/编码是什么
【发布时间】:2020-12-10 07:51:39
【问题描述】:

我有一些二进制 blob(来自 MySQL 的blob)。这些假设是使用 JS web-app 录制的音频流。

我将其中一个 blob 保存为 a.wtf 文件。当我运行strings a.wtf 时,我得到了一些有用的信息。

webmB
QTmuxingAppLibWebM-0.0.1WA
QTwritingAppLibWebM-0.0.1
A_OPUSc
OpusHead
OPUS
...

我还在终端中尝试了以下操作(google 上的提示)。

[dilawars@chutki data (master)]$ mkvextract a.wtf tracks 0:audio.opus
Error: (mkvextract) The file 'a.wtf' could not be opened for reading: Not a valid Matroska file (no segment/level 0 element found).

Download a.wtf.

非常感谢任何帮助?理想情况下,我想将它们转换为 WAV 格式。

更新

我用过这个tool

[dilawars@chutki data (master)]$ hachoir-metadata a.wtf 
[err!] Unable to parse file: a.wtf

【问题讨论】:

  • 它似乎是一个包含 Opus 音频的 WebM 文件,但它已损坏,它似乎在应该是二进制的时候被编码为文本。
  • @bryc 谢谢。它的 base64 编码。我使用 FFmpeg 将其转换为 WAV 文件。完美地工作。再次感谢您的指点。

标签: file-format dataformat audioformat


【解决方案1】:

感谢@bryc 的提示,我设法找到了解决方案。 MySQL 中的数据采用 base64 编码(上传的文件a.wtf 已经是二进制格式)。我将它们解码回二进制流并将其保存为a.webm 文件。之后,我运行了以下命令。

$ ffmpeg -i a.webm -ac 1 -f wav -vn -ar 20500 a.wav

【讨论】:

  • 很高兴你知道了;尽管该 a.wtf 文件似乎不是我所知道的任何 base64 表示形式。您是如何将 a.wtf 文件解码回二进制文件的?
  • @bryc 上传的文件已经是二进制格式。我的错。我会记下的。
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多