我们正在设计一个需要支持从客户端上传短音频文件的应用程序(wav,aiff,ogg,flac,mp3,...)
它还应该支持从服务器下载歌曲后在客户端应用程序中播放这些歌曲(目前不需要流式传输)并将它们导出到用户的本地计算机。
我们应该以什么格式将这些文件存储在服务器中?
例如,如果一个用户上传了一个 wav 文件,我们应该将它作为 mp3 文件存储在服务器中吗?
谢谢
我们正在设计一个需要支持从客户端上传短音频文件的应用程序(wav,aiff,ogg,flac,mp3,...)
它还应该支持从服务器下载歌曲后在客户端应用程序中播放这些歌曲(目前不需要流式传输)并将它们导出到用户的本地计算机。
我们应该以什么格式将这些文件存储在服务器中?
例如,如果一个用户上传了一个 wav 文件,我们应该将它作为 mp3 文件存储在服务器中吗?
谢谢
通常,如果您有空间,您会希望保留原始质量资产。从一种有损格式转换为另一种会降低质量。
话虽如此,如果您获得 WAV 文件,您可以将其无损压缩为 FLAC 并减少 30-50% 的文件大小。(不要将有损压缩文件(例如 MP3)转换为 FLAC,因为您实际上会使文件变大。)
对于转码部分,我建议查看 FFMPEG。
没有最好的格式。取决于用例。让我们分析你的
优化参数将是 - 音频质量 - 下载文件所需的时间(文件大小) - 未来的努力和设备支持
音频质量:如果您以合理的比特率正确转码,则不会有太多的质量损失。无论如何,这就是 mp3/aac 压缩的重点。除非您首先拥有出色的音频设备和良好的耳朵,否则您无法分辨 128Kbps AAC 44.1 KHz 和原始样本之间的区别。因此,除非这是内容制作应用程序,否则不要太担心。确保您提供合理的质量。
文件大小:与压缩内容相比,Wav 文件会很大。
面向未来和设备支持:
最常支持的音频格式是 mp3 和 aac。AAC 比 MP3 好。但是你应该得到一个好的编码器(比如nero)。如果您的客户是 PC 的 HE-AAC 是一个不错的选择。如果是移动设备,请坚持使用 AAC-LC。(其中许多不支持 HE-aac)将来如果您添加流式传输(我猜您会,这是下一个合乎逻辑的步骤),选择变得更加重要。并非所有设备都支持 mp3 流媒体。AAC 流媒体更为常见。
给出以上所有我会说去AAC。
如果您使用转码和存储方法会更好,1)这将使您能够确保您已将所需的元数据和其他技术细节与用户上传的音频相关联,然后再将它们存储到数据库中
2) 拥有一种通用的音频格式还可以让您轻松管理数据