我不是音频方面的专家,所以如果你们中的任何人都这样,我会很感激你对此的见解。
我的客户端有一些以相对较高的比特率存储的MP3播客,我希望能够以“不同”的比特率向用户提供这些文件,具体取决于用户的凭据。 (例如,如果您是经过身份验证的用户,则可能会获得完整的,未经更改的流,但如果您不是,则会获得较低比特率的版本 - 或者至少是故意调整较低质量的版本版本比原版。)
似乎有两种选择:源处的下采样和客户端的下采样。在这种情况下,当然知道源流将以高比特率到达客户端(并且考虑到这一点,我意识到),我宁愿在某种程度上改变客户端的流而不是在服务器上,有几个原因。
单独使用Flash Player和ActionScript,在运行时(即使使用第三方库),或者像这样的场景是否需要基于服务器的解决方案?如果是后者,Flash Media Server可以专门处理这个要求吗?如果可以的话,我想避免使用FMS,因为她没有真正的预算,但如果这是唯一的选择而且它真的是一个选项,我愿意考虑一下。
提前致谢...
注意:请不要质疑请求的完整性 - 我意识到这可能听起来有点奇怪,但要求就是它们的要求。有鉴于此,为了回答这个问题,你可以忽略这些位的来源和传递路径;所有我真正想要的是解释一下,无论音频是通过网络连接到达还是直接从磁盘读取,Flash客户端是否(以及理想情况下)都可以在运行时对MP3音频流进行下采样。非常感谢!
答案 0 :(得分:0)
我更愿意以某种方式在客户端改变流,而不是在服务器上,原因有几个。
请说明原因,因为在客户端重新采样通常会被认为是疯狂的:浪费带宽将更高质量的版本发送给无法听到它的用户,并冒着一个精明的用户冒着高质量流的风险来到它来通过网络。
在任何情况下,Flash Player都不会为您提供处理音频的工具,只能播放它。
您不应该需要FMS来处理服务器端的音频。您可以使用服务器端脚本加载新上传的播客并将其保存为低比特率文件,这些文件可以通过普通的Web服务器提供给低级用户。对于Python,请参阅例如。 PyMedia,py-lame;甚至是使用lame或ffmpeg的shell脚本或命令行中的某些内容应该很容易实现。
答案 1 :(得分:0)
如果存储费用很高,您是否看过AAC音频?我相信桌面浏览器上的Flash 9和10会播放它。根据我的经验,AAC只需要相当于MP3的一半大小(即80kbps AAC听起来与160kbps MP3相同)。
关于播放质量,如果我没记错,Flash编辑器的“发布设置”部分中有音频播放设置。无论是否可以在运行时更改播放比特率,我都不确定。