需要在一个RTP数据包中发送多少字节的Opus有效负载

时间:2015-07-17 10:47:35

标签: rtp ogg opus

我有包含OPUS帧的Ogg格式文件。根据我的要求,我需要解析这个文件(帧/包),并通过RTP将OPUS压缩数据发送到远程设备。

我的问题是在一个RTP数据包中(假设48khz采样率)
1.将发送一个OPUS帧 2.或者将发送多个OPUS帧 3.或者根据Ogg文件格式规范的一个数据包,可以是一帧,2帧或任意数量的帧将被发送

1 个答案:

答案 0 :(得分:3)

每个Opus RTP数据包包含only one Opus packet,由Opus specification定义。这可能在内部包含多个Opus框架,但它必须具有正确的标头字节才能发出信号并符合其他规则,因此请确保您的意思与规范相同,框架"。

基本上,您希望将每个Opus数据包从Ogg文件中发送到自己的RTP数据包中。在RTP有效载荷级别没有打包。不要在.opus Ogg流的前两个数据包中发送Id或Comment标头,当然,您需要在RTP标头前加上适当的标志,时间戳等。

有关此玩具的实施,请参阅https://git.xiph.org/?p=opus-tools.git;a=blob;f=src/opusrtp.c#l517