【发布时间】:2017-12-02 13:31:04
【问题描述】:
我正在为媒体交付创造一些东西,尤其是音频分发。我可以在我的服务器上随意使用 Node.js 作为后端。
我只想在我的服务器上存储高质量的音轨,现在的问题是我想允许用户也以较低的比特率下载该音轨。假设我在我的服务器上保存了 320 kbps 的曲目,并为用户提供了以 128 或 64 kbps 下载该曲目的选项。如何为此任务选择库?
还有一个问题,是否可以将较低码率的音轨存储起来,然后在后端转换成更高码率?
【问题讨论】:
我正在为媒体交付创造一些东西,尤其是音频分发。我可以在我的服务器上随意使用 Node.js 作为后端。
我只想在我的服务器上存储高质量的音轨,现在的问题是我想允许用户也以较低的比特率下载该音轨。假设我在我的服务器上保存了 320 kbps 的曲目,并为用户提供了以 128 或 64 kbps 下载该曲目的选项。如何为此任务选择库?
还有一个问题,是否可以将较低码率的音轨存储起来,然后在后端转换成更高码率?
【问题讨论】:
我会使用 ffmpeg 进行比特率转换(找到的命令 here)。
const spawn = require('child_process').spawn;
let bitrate = '128K';
let convert = spawn('ffmpeg', ['-i', 'in.mp3', '-b:a', bitrate, 'out.mp3'])
是的,您可以以较低的比特率存储音轨并将其转换为较高的比特率,但这是一种破坏性的操作。不要期望这样做会使质量保持不变。
【讨论】:
Do not expect quality to be left unchanged by doing that.