RTP:推荐策略以实现流畅的音频流
让我解释一下当我说流畅的音频流时我的意思。
我有一个 VOIP 应用程序,它通过 UDP 传输封装在 RTP 包中的 PCMU 编码音频。我已经实现了处理包丢失的机制(如 rfc3550 中所建议的)。
问题是,由于平台限制(黑莓操作系统),我需要保持恒定的数据流,即我需要每 S 毫秒传递 X 字节。
由于网络延迟、未传递的数据报等。我无法保证恒定的数据流,因此我创建了一个单独的线程来补偿因假包而被丢弃或延迟传递的包(“沉默”)。
所以我的问题是 - 谁能建议一种将假包和真包结合起来的好方法?我意识到添加假包会自动增加延迟,也许我应该在此之后忽略真正的 RTP 包,但正如我所说,这是因为平台限制,我愿意在音频质量上做出妥协并进行一些额外的演讲损失。
Let me explain what I mean when I say fluent audio stream.
I have a VOIP application which transfers PCMU encoded audio wrapped in RTP packages through UDP. I already implemented mechanisms which deal with package losses(as suggested in rfc3550).
The problem is that due to platform limitations(blackberry OS) I need to maintain a constant flow of data i.e. I need to pass X bytes every S milliseconds.
Because of network delays, undelivered datagrams etc. I can't guarantee that constant data flow so I created a separate thread which compensates the packages which were dropped or delivered late with fake packages("silence").
So my question is - can anyone suggest a good way to combine the fake packages and the real ones? I realize that adding a fake package automatically increases the lag and maybe I should ignore a real RTP packages after that but as I said this is because of platform limitations and I am willing to make compromises with the quality of the audio and have some additional speech loss.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要阅读以下内容:
这些内容的存在是为了准确处理您正在处理的问题。
You need to read up on:
These exist to handle exactly the sort of problems you're dealing with.