【发布时间】:2016-03-01 20:37:41
【问题描述】:
我正在尝试在录制时以 mp3 格式实时流式传输音频,但我无法获得良好的流式传输质量。
我正在做的是从“WI_DataAvailable”获取 10 秒的 PCM 数据并将其转换为 MP3,然后在网络中发送帧。它在 10 秒的数据之间几乎没有静默。
我喜欢在录制时逐帧流式传输连续的 mp3。有什么合适的方法吗?
【问题讨论】:
-
您是否对每 10 秒的 mp3 进行单独编码?如果是这样,由于 mp3 的限制(mp3 不能是任意长度,并且必须是帧大小的倍数,通常为 1152 个样本),您将永远无法“端到端”无间隙地对接它们。您还需要考虑编码器有一个“加速”时间,这意味着您将在边界处获得可听见的伪影。您需要连续编码音频,而不是每 10 秒间隔开始一个新的编码会话。
-
是的,我每 10 秒单独编码一次。但是如何同时编码和获取帧以将帧发送到网络?通过使用 LameMP3FileWriter 我只能编写流。有什么替代方法吗?
-
我曾经写过一个 mp3 流媒体,但在一台旧计算机上(我虚拟化了它)。我去看看有没有……
-
假设你使用this LameMP3FileWriter,构造函数接受一个Stream。为什么不提供网络流而不是文件流?你怎么直播?通过 HTTP?你的设置是什么?
-
我正在通过 UDP 流式传输帧
标签: c# naudio live-streaming